@envive-ai/react-hooks 0.2.10-arthur-3 → 0.2.11

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.
Files changed (1295) hide show
  1. package/README.md +0 -33
  2. package/dist/{chunk-CUT6urMc.cjs → _virtual/rolldown_runtime.cjs} +11 -12
  3. package/dist/application/commerce-api.cjs +319 -0
  4. package/dist/application/commerce-api.js +318 -0
  5. package/dist/application/logging/logger.cjs +21 -0
  6. package/dist/application/logging/logger.js +20 -0
  7. package/dist/application/models/api/context.d.cts +8 -0
  8. package/dist/application/models/api/context.d.ts +8 -0
  9. package/dist/application/models/api/generationParams.d.cts +8 -0
  10. package/dist/application/models/api/generationParams.d.ts +8 -0
  11. package/dist/application/models/api/nextMessageRequest.d.cts +15 -0
  12. package/dist/application/models/api/nextMessageRequest.d.ts +15 -0
  13. package/dist/application/models/api/orgAnalyticsConfig.d.cts +20 -0
  14. package/dist/application/models/api/orgAnalyticsConfig.d.ts +20 -0
  15. package/dist/application/models/api/orgConfigResults.d.cts +43 -0
  16. package/dist/application/models/api/orgConfigResults.d.ts +43 -0
  17. package/dist/application/models/api/organizationConfig.d.cts +16 -0
  18. package/dist/application/models/api/organizationConfig.d.ts +16 -0
  19. package/dist/application/models/api/response.d.cts +94 -0
  20. package/dist/application/models/api/response.d.ts +94 -0
  21. package/dist/application/models/api/responseGenerics.d.cts +60 -0
  22. package/dist/application/models/api/responseGenerics.d.ts +60 -0
  23. package/dist/{search-6RrxBXD6.d.cts → application/models/api/search.d.cts} +2 -2
  24. package/dist/{search-DrJiCT7d.d.ts → application/models/api/search.d.ts} +2 -2
  25. package/dist/application/models/api/suggestion.d.cts +8 -0
  26. package/dist/application/models/api/suggestion.d.ts +8 -0
  27. package/dist/application/models/api/supportedEventRequest.d.cts +12 -0
  28. package/dist/application/models/api/supportedEventRequest.d.ts +12 -0
  29. package/dist/application/models/api/userEvent.d.cts +57 -0
  30. package/dist/application/models/api/userEvent.d.ts +57 -0
  31. package/dist/application/models/cachedValue.d.cts +8 -0
  32. package/dist/application/models/cachedValue.d.ts +8 -0
  33. package/dist/application/models/chatElementDisplayLocation.cjs +29 -0
  34. package/dist/application/models/chatElementDisplayLocation.d.cts +26 -0
  35. package/dist/application/models/chatElementDisplayLocation.d.ts +26 -0
  36. package/dist/application/models/chatElementDisplayLocation.js +28 -0
  37. package/dist/application/models/clientDetails.d.cts +18 -0
  38. package/dist/application/models/clientDetails.d.ts +18 -0
  39. package/dist/application/models/colorsConfig.cjs +29 -0
  40. package/dist/application/models/colorsConfig.d.cts +26 -0
  41. package/dist/application/models/colorsConfig.d.ts +26 -0
  42. package/dist/application/models/colorsConfig.js +27 -0
  43. package/dist/application/models/conversationalSearchIds.d.cts +9 -0
  44. package/dist/application/models/conversationalSearchIds.d.ts +9 -0
  45. package/dist/application/models/dataLayer.d.cts +45 -0
  46. package/dist/application/models/dataLayer.d.ts +45 -0
  47. package/dist/application/models/events.cjs +11 -0
  48. package/dist/application/models/events.d.cts +8 -0
  49. package/dist/application/models/events.d.ts +8 -0
  50. package/dist/application/models/events.js +10 -0
  51. package/dist/application/models/featureGates.cjs +27 -0
  52. package/dist/application/models/featureGates.d.cts +24 -0
  53. package/dist/application/models/featureGates.d.ts +24 -0
  54. package/dist/application/models/featureGates.js +26 -0
  55. package/dist/application/models/frontendConfig.d.cts +13 -0
  56. package/dist/application/models/frontendConfig.d.ts +13 -0
  57. package/dist/application/models/googleAnalyticsEvents.cjs +11 -0
  58. package/dist/application/models/googleAnalyticsEvents.d.cts +8 -0
  59. package/dist/application/models/googleAnalyticsEvents.d.ts +8 -0
  60. package/dist/application/models/googleAnalyticsEvents.js +10 -0
  61. package/dist/application/models/graphql/index.cjs +6 -5
  62. package/dist/application/models/graphql/index.d.cts +3 -1
  63. package/dist/application/models/graphql/index.d.ts +3 -1
  64. package/dist/application/models/graphql/index.js +3 -2
  65. package/dist/application/models/graphql/queries/getMerchantColorsQuery.cjs +18 -0
  66. package/dist/application/models/graphql/queries/getMerchantColorsQuery.d.cts +25 -0
  67. package/dist/application/models/graphql/queries/getMerchantColorsQuery.d.ts +25 -0
  68. package/dist/application/models/graphql/queries/getMerchantColorsQuery.js +18 -0
  69. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.cjs +18 -0
  70. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.d.cts +75 -0
  71. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.d.ts +75 -0
  72. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.js +18 -0
  73. package/dist/application/models/graphql/queries/getMerchantOrgIdQuery.cjs +15 -0
  74. package/dist/application/models/graphql/queries/getMerchantOrgIdQuery.d.cts +5 -0
  75. package/dist/application/models/graphql/queries/getMerchantOrgIdQuery.d.ts +5 -0
  76. package/dist/application/models/graphql/queries/getMerchantOrgIdQuery.js +14 -0
  77. package/dist/application/models/guards/api/index.cjs +24 -15
  78. package/dist/application/models/guards/api/index.d.cts +12 -3
  79. package/dist/application/models/guards/api/index.d.ts +12 -3
  80. package/dist/application/models/guards/api/index.js +12 -3
  81. package/dist/application/models/guards/api/isApiFormResponse.cjs +51 -0
  82. package/dist/application/models/guards/api/isApiFormResponse.d.cts +16 -0
  83. package/dist/application/models/guards/api/isApiFormResponse.d.ts +16 -0
  84. package/dist/application/models/guards/api/isApiFormResponse.js +50 -0
  85. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.cjs +29 -0
  86. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.d.cts +7 -0
  87. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.d.ts +7 -0
  88. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.js +28 -0
  89. package/dist/application/models/guards/api/isApiOrderResponseAttributes.cjs +82 -0
  90. package/dist/application/models/guards/api/isApiOrderResponseAttributes.d.cts +17 -0
  91. package/dist/application/models/guards/api/isApiOrderResponseAttributes.d.ts +17 -0
  92. package/dist/application/models/guards/api/isApiOrderResponseAttributes.js +82 -0
  93. package/dist/application/models/guards/api/isApiOrgConfigResults.cjs +130 -0
  94. package/dist/application/models/guards/api/isApiOrgConfigResults.d.cts +19 -0
  95. package/dist/application/models/guards/api/isApiOrgConfigResults.d.ts +19 -0
  96. package/dist/application/models/guards/api/isApiOrgConfigResults.js +129 -0
  97. package/dist/application/models/guards/api/isApiOrganizationConfig.cjs +116 -0
  98. package/dist/application/models/guards/api/isApiOrganizationConfig.d.cts +31 -0
  99. package/dist/application/models/guards/api/isApiOrganizationConfig.d.ts +31 -0
  100. package/dist/application/models/guards/api/isApiOrganizationConfig.js +116 -0
  101. package/dist/application/models/guards/api/isApiPDPEventAttributes.cjs +13 -0
  102. package/dist/application/models/guards/api/isApiPDPEventAttributes.d.cts +7 -0
  103. package/dist/application/models/guards/api/isApiPDPEventAttributes.d.ts +7 -0
  104. package/dist/application/models/guards/api/isApiPDPEventAttributes.js +12 -0
  105. package/dist/application/models/guards/api/isApiPLPEventAttributes.cjs +20 -0
  106. package/dist/application/models/guards/api/isApiPLPEventAttributes.d.cts +8 -0
  107. package/dist/application/models/guards/api/isApiPLPEventAttributes.d.ts +8 -0
  108. package/dist/application/models/guards/api/isApiPLPEventAttributes.js +18 -0
  109. package/dist/application/models/guards/api/isApiPageResponseAttributes.cjs +13 -0
  110. package/dist/application/models/guards/api/isApiPageResponseAttributes.d.cts +7 -0
  111. package/dist/application/models/guards/api/isApiPageResponseAttributes.d.ts +7 -0
  112. package/dist/application/models/guards/api/isApiPageResponseAttributes.js +12 -0
  113. package/dist/application/models/guards/api/isApiProductResponseAttributes.cjs +51 -0
  114. package/dist/application/models/guards/api/isApiProductResponseAttributes.d.cts +7 -0
  115. package/dist/application/models/guards/api/isApiProductResponseAttributes.d.ts +7 -0
  116. package/dist/application/models/guards/api/isApiProductResponseAttributes.js +51 -0
  117. package/dist/application/models/guards/api/isApiProductSearchAttributes.cjs +12 -0
  118. package/dist/application/models/guards/api/isApiProductSearchAttributes.d.cts +7 -0
  119. package/dist/application/models/guards/api/isApiProductSearchAttributes.d.ts +7 -0
  120. package/dist/application/models/guards/api/isApiProductSearchAttributes.js +11 -0
  121. package/dist/application/models/guards/api/isApiProductSearchFilterAttributes.cjs +11 -0
  122. package/dist/application/models/guards/api/isApiProductSearchFilterAttributes.d.cts +7 -0
  123. package/dist/application/models/guards/api/isApiProductSearchFilterAttributes.d.ts +7 -0
  124. package/dist/application/models/guards/api/isApiProductSearchFilterAttributes.js +10 -0
  125. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.cjs +7 -0
  126. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.d.cts +7 -0
  127. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.d.ts +7 -0
  128. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.js +6 -0
  129. package/dist/application/models/guards/api/isApiResponse.cjs +33 -0
  130. package/dist/application/models/guards/api/isApiResponse.d.cts +7 -0
  131. package/dist/application/models/guards/api/isApiResponse.d.ts +7 -0
  132. package/dist/application/models/guards/api/isApiResponse.js +32 -0
  133. package/dist/application/models/guards/api/isApiReviewResponseAttributes.cjs +16 -0
  134. package/dist/application/models/guards/api/isApiReviewResponseAttributes.d.cts +7 -0
  135. package/dist/application/models/guards/api/isApiReviewResponseAttributes.d.ts +7 -0
  136. package/dist/application/models/guards/api/isApiReviewResponseAttributes.js +16 -0
  137. package/dist/application/models/guards/api/isApiReviewRichInformation.cjs +15 -0
  138. package/dist/application/models/guards/api/isApiReviewRichInformation.d.cts +7 -0
  139. package/dist/application/models/guards/api/isApiReviewRichInformation.d.ts +7 -0
  140. package/dist/application/models/guards/api/isApiReviewRichInformation.js +14 -0
  141. package/dist/application/models/guards/api/isApiSearchEventAttributes.cjs +14 -0
  142. package/dist/application/models/guards/api/isApiSearchEventAttributes.d.cts +7 -0
  143. package/dist/application/models/guards/api/isApiSearchEventAttributes.d.ts +7 -0
  144. package/dist/application/models/guards/api/isApiSearchEventAttributes.js +13 -0
  145. package/dist/application/models/guards/api/isApiSuggestion.cjs +17 -0
  146. package/dist/application/models/guards/api/isApiSuggestion.d.cts +7 -0
  147. package/dist/application/models/guards/api/isApiSuggestion.d.ts +7 -0
  148. package/dist/application/models/guards/api/isApiSuggestion.js +16 -0
  149. package/dist/application/models/guards/api/isApiSuggestionClickedEventAttributes.cjs +7 -0
  150. package/dist/application/models/guards/api/isApiSuggestionClickedEventAttributes.d.cts +7 -0
  151. package/dist/application/models/guards/api/isApiSuggestionClickedEventAttributes.d.ts +7 -0
  152. package/dist/application/models/guards/api/isApiSuggestionClickedEventAttributes.js +6 -0
  153. package/dist/application/models/guards/api/isApiTextResponseAttributes.cjs +7 -0
  154. package/dist/application/models/guards/api/isApiTextResponseAttributes.d.cts +7 -0
  155. package/dist/application/models/guards/api/isApiTextResponseAttributes.d.ts +7 -0
  156. package/dist/application/models/guards/api/isApiTextResponseAttributes.js +6 -0
  157. package/dist/application/models/guards/api/isApiUserEvent.cjs +15 -0
  158. package/dist/application/models/guards/api/isApiUserEvent.d.cts +7 -0
  159. package/dist/application/models/guards/api/isApiUserEvent.d.ts +7 -0
  160. package/dist/application/models/guards/api/isApiUserEvent.js +14 -0
  161. package/dist/application/models/guards/graphQL/isGraphQLColorsConfig.cjs +46 -0
  162. package/dist/application/models/guards/graphQL/isGraphQLColorsConfig.d.cts +7 -0
  163. package/dist/application/models/guards/graphQL/isGraphQLColorsConfig.d.ts +7 -0
  164. package/dist/application/models/guards/graphQL/isGraphQLColorsConfig.js +46 -0
  165. package/dist/application/models/guards/isBaseEcommerceEvent.cjs +14 -0
  166. package/dist/application/models/guards/isBaseEcommerceEvent.d.cts +15 -0
  167. package/dist/application/models/guards/isBaseEcommerceEvent.d.ts +15 -0
  168. package/dist/application/models/guards/isBaseEcommerceEvent.js +13 -0
  169. package/dist/application/models/guards/isGA4EcommerceEvent.cjs +14 -0
  170. package/dist/application/models/guards/isGA4EcommerceEvent.d.cts +15 -0
  171. package/dist/application/models/guards/isGA4EcommerceEvent.d.ts +15 -0
  172. package/dist/application/models/guards/isGA4EcommerceEvent.js +13 -0
  173. package/dist/application/models/guards/isLegacyUAEcommerceEvent.cjs +14 -0
  174. package/dist/application/models/guards/isLegacyUAEcommerceEvent.d.cts +15 -0
  175. package/dist/application/models/guards/isLegacyUAEcommerceEvent.d.ts +15 -0
  176. package/dist/application/models/guards/isLegacyUAEcommerceEvent.js +13 -0
  177. package/dist/application/models/guards/isMobilePLPChatPlacementParameter.cjs +7 -0
  178. package/dist/application/models/guards/isMobilePLPChatPlacementParameter.d.cts +8 -0
  179. package/dist/application/models/guards/isMobilePLPChatPlacementParameter.d.ts +8 -0
  180. package/dist/application/models/guards/isMobilePLPChatPlacementParameter.js +6 -0
  181. package/dist/application/models/guards/isSpanxTakeAQuizCtaParameter.cjs +7 -0
  182. package/dist/application/models/guards/isSpanxTakeAQuizCtaParameter.d.cts +7 -0
  183. package/dist/application/models/guards/isSpanxTakeAQuizCtaParameter.d.ts +7 -0
  184. package/dist/application/models/guards/isSpanxTakeAQuizCtaParameter.js +6 -0
  185. package/dist/application/models/guards/isVariantInfo.cjs +19 -0
  186. package/dist/application/models/guards/isVariantInfo.d.cts +15 -0
  187. package/dist/application/models/guards/isVariantInfo.d.ts +15 -0
  188. package/dist/application/models/guards/isVariantInfo.js +18 -0
  189. package/dist/application/models/guards/utils.cjs +27 -2
  190. package/dist/application/models/guards/utils.d.cts +15 -2
  191. package/dist/application/models/guards/utils.d.ts +15 -2
  192. package/dist/application/models/guards/utils.js +26 -2
  193. package/dist/application/models/index.cjs +111 -67
  194. package/dist/application/models/index.d.cts +84 -12
  195. package/dist/application/models/index.d.ts +84 -12
  196. package/dist/application/models/index.js +54 -10
  197. package/dist/application/models/localStorageEventListener.d.cts +8 -0
  198. package/dist/application/models/localStorageEventListener.d.ts +8 -0
  199. package/dist/application/models/message.cjs +29 -0
  200. package/dist/application/models/message.d.cts +107 -0
  201. package/dist/application/models/message.d.ts +107 -0
  202. package/dist/application/models/message.js +27 -0
  203. package/dist/application/models/mobilePLPChatPlacementParameter.d.cts +7 -0
  204. package/dist/application/models/mobilePLPChatPlacementParameter.d.ts +7 -0
  205. package/dist/application/models/orgsEnum.cjs +41 -0
  206. package/dist/application/models/orgsEnum.d.cts +39 -0
  207. package/dist/application/models/orgsEnum.d.ts +39 -0
  208. package/dist/application/models/orgsEnum.js +40 -0
  209. package/dist/application/models/productExperiment.cjs +10 -0
  210. package/dist/application/models/productExperiment.d.cts +7 -0
  211. package/dist/application/models/productExperiment.d.ts +7 -0
  212. package/dist/application/models/productExperiment.js +9 -0
  213. package/dist/application/models/spanxTakeAQuizCtaParameter.d.cts +8 -0
  214. package/dist/application/models/spanxTakeAQuizCtaParameter.d.ts +8 -0
  215. package/dist/application/models/spiffyWidgets.cjs +24 -0
  216. package/dist/application/models/spiffyWidgets.d.cts +21 -0
  217. package/dist/application/models/spiffyWidgets.d.ts +21 -0
  218. package/dist/application/models/spiffyWidgets.js +23 -0
  219. package/dist/application/models/utilityTypes/camelCase.d.cts +70 -0
  220. package/dist/application/models/utilityTypes/camelCase.d.ts +70 -0
  221. package/dist/application/models/utilityTypes/camelCasedPropertiesDeep.d.cts +56 -0
  222. package/dist/application/models/utilityTypes/camelCasedPropertiesDeep.d.ts +56 -0
  223. package/dist/application/models/utilityTypes/delimiterCase.d.cts +67 -0
  224. package/dist/application/models/utilityTypes/delimiterCase.d.ts +67 -0
  225. package/dist/application/models/utilityTypes/delimiterCasedPropertiesDeep.d.cts +55 -0
  226. package/dist/application/models/utilityTypes/delimiterCasedPropertiesDeep.d.ts +55 -0
  227. package/dist/application/models/utilityTypes/index.cjs +0 -1
  228. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  229. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  230. package/dist/application/models/utilityTypes/index.js +0 -2
  231. package/dist/application/models/utilityTypes/internal.d.cts +33 -0
  232. package/dist/application/models/utilityTypes/internal.d.ts +33 -0
  233. package/dist/application/models/utilityTypes/primitive.d.cts +10 -0
  234. package/dist/application/models/utilityTypes/primitive.d.ts +10 -0
  235. package/dist/application/models/utilityTypes/snakeCasedPropertiesDeep.d.cts +52 -0
  236. package/dist/application/models/utilityTypes/snakeCasedPropertiesDeep.d.ts +52 -0
  237. package/dist/application/models/utilityTypes/splitWords.d.cts +29 -0
  238. package/dist/application/models/utilityTypes/splitWords.d.ts +29 -0
  239. package/dist/application/models/utilityTypes/trim.d.cts +29 -0
  240. package/dist/application/models/utilityTypes/trim.d.ts +29 -0
  241. package/dist/application/models/utilityTypes/unknownArray.d.cts +29 -0
  242. package/dist/application/models/utilityTypes/unknownArray.d.ts +29 -0
  243. package/dist/application/models/utils/snakeToCamelTransformer.cjs +66 -0
  244. package/dist/application/models/utils/snakeToCamelTransformer.d.cts +16 -0
  245. package/dist/application/models/utils/snakeToCamelTransformer.d.ts +16 -0
  246. package/dist/application/models/utils/snakeToCamelTransformer.js +64 -0
  247. package/dist/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.cjs +46 -0
  248. package/dist/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.d.cts +16 -0
  249. package/dist/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.d.ts +16 -0
  250. package/dist/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.js +45 -0
  251. package/dist/application/models/validators/validateGraphQLColorsConfig.cjs +10 -0
  252. package/dist/application/models/validators/validateGraphQLColorsConfig.d.cts +7 -0
  253. package/dist/application/models/validators/validateGraphQLColorsConfig.d.ts +7 -0
  254. package/dist/application/models/validators/validateGraphQLColorsConfig.js +10 -0
  255. package/dist/application/models/validators/validateGraphQLFrontendConfig.cjs +231 -0
  256. package/dist/application/models/validators/validateGraphQLFrontendConfig.d.cts +11 -0
  257. package/dist/application/models/validators/validateGraphQLFrontendConfig.d.ts +11 -0
  258. package/dist/application/models/validators/validateGraphQLFrontendConfig.js +228 -0
  259. package/dist/application/models/validators/validateGraphQLOrgId.cjs +10 -0
  260. package/dist/application/models/validators/validateGraphQLOrgId.d.cts +5 -0
  261. package/dist/application/models/validators/validateGraphQLOrgId.d.ts +5 -0
  262. package/dist/application/models/validators/validateGraphQLOrgId.js +9 -0
  263. package/dist/application/models/validators/validateMobilePLPChatPlacementParameter.cjs +11 -0
  264. package/dist/application/models/validators/validateMobilePLPChatPlacementParameter.d.cts +7 -0
  265. package/dist/application/models/validators/validateMobilePLPChatPlacementParameter.d.ts +7 -0
  266. package/dist/application/models/validators/validateMobilePLPChatPlacementParameter.js +11 -0
  267. package/dist/application/models/validators/validateOrgConfigResults.cjs +44 -0
  268. package/dist/application/models/validators/validateOrgConfigResults.d.cts +13 -0
  269. package/dist/application/models/validators/validateOrgConfigResults.d.ts +13 -0
  270. package/dist/application/models/validators/validateOrgConfigResults.js +44 -0
  271. package/dist/application/models/validators/validateOrganizationConfig.cjs +28 -0
  272. package/dist/application/models/validators/validateOrganizationConfig.d.cts +7 -0
  273. package/dist/application/models/validators/validateOrganizationConfig.d.ts +7 -0
  274. package/dist/application/models/validators/validateOrganizationConfig.js +28 -0
  275. package/dist/application/models/validators/validateResponse.cjs +136 -0
  276. package/dist/application/models/validators/validateResponse.d.cts +7 -0
  277. package/dist/application/models/validators/validateResponse.d.ts +7 -0
  278. package/dist/application/models/validators/validateResponse.js +135 -0
  279. package/dist/application/models/validators/validateSuggestion.cjs +17 -0
  280. package/dist/application/models/validators/validateSuggestion.d.cts +7 -0
  281. package/dist/application/models/validators/validateSuggestion.d.ts +7 -0
  282. package/dist/application/models/validators/validateSuggestion.js +17 -0
  283. package/dist/application/models/validators/validateUserEvent.cjs +75 -0
  284. package/dist/application/models/validators/validateUserEvent.d.cts +7 -0
  285. package/dist/application/models/validators/validateUserEvent.d.ts +7 -0
  286. package/dist/application/models/validators/validateUserEvent.js +74 -0
  287. package/dist/application/models/variantInfo/index.cjs +1 -1
  288. package/dist/application/models/variantInfo/index.d.cts +1 -1
  289. package/dist/application/models/variantInfo/index.d.ts +1 -1
  290. package/dist/application/models/variantInfo/index.js +1 -1
  291. package/dist/application/models/variantInfo/pageVisitInfo.d.cts +10 -0
  292. package/dist/application/models/variantInfo/pageVisitInfo.d.ts +10 -0
  293. package/dist/application/models/variantInfo/plpInfo.d.cts +7 -0
  294. package/dist/application/models/variantInfo/plpInfo.d.ts +7 -0
  295. package/dist/application/models/variantInfo/productInfo.d.cts +9 -0
  296. package/dist/application/models/variantInfo/productInfo.d.ts +9 -0
  297. package/dist/{variantInfo-DpLn4nHz.cjs → application/models/variantInfo/variantInfo.cjs} +2 -7
  298. package/dist/application/models/variantInfo/variantInfo.d.cts +28 -0
  299. package/dist/application/models/variantInfo/variantInfo.d.ts +28 -0
  300. package/dist/{variantInfo-BfKlkaWU.js → application/models/variantInfo/variantInfo.js} +1 -1
  301. package/dist/application/utils/analyticsUtils.cjs +88 -0
  302. package/dist/application/utils/analyticsUtils.d.cts +17 -0
  303. package/dist/application/utils/analyticsUtils.d.ts +17 -0
  304. package/dist/application/utils/analyticsUtils.js +87 -0
  305. package/dist/application/utils/coreContextToApiContext.cjs +14 -0
  306. package/dist/application/utils/coreContextToApiContext.d.cts +8 -0
  307. package/dist/application/utils/coreContextToApiContext.d.ts +8 -0
  308. package/dist/application/utils/coreContextToApiContext.js +13 -0
  309. package/dist/application/utils/coreUserEventToApiUserEvent.cjs +74 -0
  310. package/dist/application/utils/coreUserEventToApiUserEvent.d.cts +8 -0
  311. package/dist/application/utils/coreUserEventToApiUserEvent.d.ts +8 -0
  312. package/dist/application/utils/coreUserEventToApiUserEvent.js +73 -0
  313. package/dist/application/utils/divideArray.cjs +11 -0
  314. package/dist/application/utils/divideArray.d.cts +5 -0
  315. package/dist/application/utils/divideArray.d.ts +5 -0
  316. package/dist/application/utils/divideArray.js +10 -0
  317. package/dist/application/utils/domObserver.cjs +87 -0
  318. package/dist/application/utils/domObserver.d.cts +39 -0
  319. package/dist/application/utils/domObserver.d.ts +39 -0
  320. package/dist/application/utils/domObserver.js +87 -0
  321. package/dist/application/utils/elementObserver.cjs +176 -0
  322. package/dist/application/utils/elementObserver.d.cts +68 -0
  323. package/dist/application/utils/elementObserver.d.ts +68 -0
  324. package/dist/application/utils/elementObserver.js +175 -0
  325. package/dist/application/utils/imageFilter.cjs +12 -0
  326. package/dist/application/utils/imageFilter.d.cts +7 -0
  327. package/dist/application/utils/imageFilter.d.ts +7 -0
  328. package/dist/application/utils/imageFilter.js +12 -0
  329. package/dist/application/utils/index.cjs +40 -41
  330. package/dist/application/utils/index.d.cts +22 -264
  331. package/dist/application/utils/index.d.ts +22 -264
  332. package/dist/application/utils/index.js +20 -21
  333. package/dist/application/utils/merchantUtils.cjs +18 -0
  334. package/dist/application/utils/merchantUtils.d.cts +5 -0
  335. package/dist/application/utils/merchantUtils.d.ts +5 -0
  336. package/dist/application/utils/merchantUtils.js +17 -0
  337. package/dist/application/utils/messageFromFormSubmittedEvent.cjs +21 -0
  338. package/dist/application/utils/messageFromFormSubmittedEvent.d.cts +9 -0
  339. package/dist/application/utils/messageFromFormSubmittedEvent.d.ts +9 -0
  340. package/dist/application/utils/messageFromFormSubmittedEvent.js +20 -0
  341. package/dist/application/utils/messageFromQueryEvent.cjs +36 -0
  342. package/dist/application/utils/messageFromQueryEvent.d.cts +16 -0
  343. package/dist/application/utils/messageFromQueryEvent.d.ts +16 -0
  344. package/dist/application/utils/messageFromQueryEvent.js +35 -0
  345. package/dist/application/utils/messageFromResponse.cjs +97 -0
  346. package/dist/application/utils/messageFromResponse.d.cts +16 -0
  347. package/dist/application/utils/messageFromResponse.d.ts +16 -0
  348. package/dist/application/utils/messageFromResponse.js +96 -0
  349. package/dist/application/utils/messageFromSuggestionEvent.cjs +33 -0
  350. package/dist/application/utils/messageFromSuggestionEvent.d.cts +18 -0
  351. package/dist/application/utils/messageFromSuggestionEvent.d.ts +18 -0
  352. package/dist/application/utils/messageFromSuggestionEvent.js +32 -0
  353. package/dist/application/utils/mouseEventTypes.d.cts +5 -0
  354. package/dist/application/utils/mouseEventTypes.d.ts +5 -0
  355. package/dist/application/utils/mutationHelper.cjs +31 -0
  356. package/dist/application/utils/mutationHelper.d.cts +12 -0
  357. package/dist/application/utils/mutationHelper.d.ts +12 -0
  358. package/dist/application/utils/mutationHelper.js +30 -0
  359. package/dist/application/utils/nextMessageRequestToApiRequest.cjs +32 -0
  360. package/dist/application/utils/nextMessageRequestToApiRequest.d.cts +8 -0
  361. package/dist/application/utils/nextMessageRequestToApiRequest.d.ts +8 -0
  362. package/dist/application/utils/nextMessageRequestToApiRequest.js +32 -0
  363. package/dist/application/utils/nodeSelector.cjs +92 -0
  364. package/dist/application/utils/nodeSelector.d.cts +28 -0
  365. package/dist/application/utils/nodeSelector.d.ts +28 -0
  366. package/dist/application/utils/nodeSelector.js +90 -0
  367. package/dist/application/utils/overrides.cjs +95 -0
  368. package/dist/application/utils/overrides.d.cts +37 -0
  369. package/dist/application/utils/overrides.d.ts +37 -0
  370. package/dist/application/utils/overrides.js +94 -0
  371. package/dist/application/utils/stringUtils.cjs +35 -0
  372. package/dist/application/utils/stringUtils.d.cts +18 -0
  373. package/dist/application/utils/stringUtils.d.ts +18 -0
  374. package/dist/application/utils/stringUtils.js +34 -0
  375. package/dist/application/utils/supportedEventRequestToApiRequest.cjs +13 -0
  376. package/dist/application/utils/supportedEventRequestToApiRequest.d.cts +8 -0
  377. package/dist/application/utils/supportedEventRequestToApiRequest.d.ts +8 -0
  378. package/dist/application/utils/supportedEventRequestToApiRequest.js +13 -0
  379. package/dist/application/utils/urlsParser.cjs +47 -0
  380. package/dist/application/utils/urlsParser.d.cts +23 -0
  381. package/dist/application/utils/urlsParser.d.ts +23 -0
  382. package/dist/application/utils/urlsParser.js +41 -0
  383. package/dist/application/utils/validation.cjs +7 -0
  384. package/dist/application/utils/validation.d.cts +5 -0
  385. package/dist/application/utils/validation.d.ts +5 -0
  386. package/dist/application/utils/validation.js +6 -0
  387. package/dist/atoms/amplitude/amplitudeTrackEventAtom.cjs +9 -0
  388. package/dist/atoms/amplitude/amplitudeTrackEventAtom.js +8 -0
  389. package/dist/atoms/app/index.cjs +27 -19
  390. package/dist/atoms/app/index.d.cts +10 -24
  391. package/dist/atoms/app/index.d.ts +10 -24
  392. package/dist/atoms/app/index.js +22 -15
  393. package/dist/atoms/app/variant.cjs +98 -0
  394. package/dist/atoms/app/variant.d.cts +10 -0
  395. package/dist/atoms/app/variant.d.ts +10 -0
  396. package/dist/atoms/app/variant.js +95 -0
  397. package/dist/atoms/atomStore/atomStore.cjs +36 -0
  398. package/dist/atoms/atomStore/atomStore.d.cts +24 -0
  399. package/dist/atoms/atomStore/atomStore.d.ts +24 -0
  400. package/dist/atoms/atomStore/atomStore.js +32 -0
  401. package/dist/atoms/atomStore/index.cjs +1 -1
  402. package/dist/atoms/atomStore/index.d.cts +2 -24
  403. package/dist/atoms/atomStore/index.d.ts +2 -24
  404. package/dist/atoms/atomStore/index.js +1 -1
  405. package/dist/atoms/chat/chatState.cjs +48 -0
  406. package/dist/atoms/chat/chatState.d.cts +54 -0
  407. package/dist/atoms/chat/chatState.d.ts +54 -0
  408. package/dist/atoms/chat/chatState.js +34 -0
  409. package/dist/atoms/chat/form.cjs +23 -0
  410. package/dist/atoms/chat/form.d.cts +10 -0
  411. package/dist/atoms/chat/form.d.ts +10 -0
  412. package/dist/atoms/chat/form.js +22 -0
  413. package/dist/atoms/chat/index.cjs +43 -38
  414. package/dist/atoms/chat/index.d.cts +13 -146
  415. package/dist/atoms/chat/index.d.ts +13 -146
  416. package/dist/atoms/chat/index.js +27 -23
  417. package/dist/atoms/chat/lastMessage.cjs +16 -0
  418. package/dist/atoms/chat/lastMessage.d.cts +8 -0
  419. package/dist/atoms/chat/lastMessage.d.ts +8 -0
  420. package/dist/atoms/chat/lastMessage.js +15 -0
  421. package/dist/atoms/chat/messageQueue.cjs +75 -0
  422. package/dist/atoms/chat/messageQueue.js +69 -0
  423. package/dist/atoms/chat/performanceMetrics.cjs +74 -0
  424. package/dist/atoms/chat/performanceMetrics.d.cts +50 -0
  425. package/dist/atoms/chat/performanceMetrics.d.ts +50 -0
  426. package/dist/atoms/chat/performanceMetrics.js +65 -0
  427. package/dist/atoms/chat/renderedWidgetRefs.cjs +32 -0
  428. package/dist/atoms/chat/renderedWidgetRefs.d.cts +21 -0
  429. package/dist/atoms/chat/renderedWidgetRefs.d.ts +21 -0
  430. package/dist/atoms/chat/renderedWidgetRefs.js +30 -0
  431. package/dist/atoms/chat/replies.cjs +45 -0
  432. package/dist/atoms/chat/replies.d.cts +14 -0
  433. package/dist/atoms/chat/replies.d.ts +14 -0
  434. package/dist/atoms/chat/replies.js +44 -0
  435. package/dist/atoms/chat/suggestions.cjs +36 -0
  436. package/dist/atoms/chat/suggestions.d.cts +10 -0
  437. package/dist/atoms/chat/suggestions.d.ts +10 -0
  438. package/dist/atoms/chat/suggestions.js +35 -0
  439. package/dist/atoms/envive/enviveConfig.cjs +74 -0
  440. package/dist/atoms/envive/enviveConfig.js +63 -0
  441. package/dist/atoms/globalSearch/globalSearch.cjs +18 -0
  442. package/dist/atoms/globalSearch/globalSearch.d.cts +24 -0
  443. package/dist/atoms/globalSearch/globalSearch.d.ts +24 -0
  444. package/dist/atoms/globalSearch/globalSearch.js +14 -0
  445. package/dist/atoms/globalSearch/index.cjs +1 -1
  446. package/dist/atoms/globalSearch/index.d.cts +2 -24
  447. package/dist/atoms/globalSearch/index.d.ts +2 -24
  448. package/dist/atoms/globalSearch/index.js +1 -1
  449. package/dist/atoms/org/customerService.cjs +17 -0
  450. package/dist/atoms/org/customerService.d.cts +23 -0
  451. package/dist/atoms/org/customerService.d.ts +23 -0
  452. package/dist/atoms/org/customerService.js +12 -0
  453. package/dist/atoms/org/graphqlConfig.cjs +18 -0
  454. package/dist/atoms/org/graphqlConfig.d.cts +19 -0
  455. package/dist/atoms/org/graphqlConfig.d.ts +19 -0
  456. package/dist/atoms/org/graphqlConfig.js +14 -0
  457. package/dist/atoms/org/index.cjs +9 -9
  458. package/dist/atoms/org/index.d.cts +5 -60
  459. package/dist/atoms/org/index.d.ts +5 -60
  460. package/dist/atoms/org/index.js +4 -4
  461. package/dist/atoms/org/newOrgConfigAtom.cjs +9 -0
  462. package/dist/atoms/org/newOrgConfigAtom.d.cts +10 -0
  463. package/dist/atoms/org/newOrgConfigAtom.d.ts +10 -0
  464. package/dist/atoms/org/newOrgConfigAtom.js +8 -0
  465. package/dist/atoms/org/orgAnalyticsConfig.cjs +18 -0
  466. package/dist/atoms/org/orgAnalyticsConfig.d.cts +11 -0
  467. package/dist/atoms/org/orgAnalyticsConfig.d.ts +11 -0
  468. package/dist/atoms/org/orgAnalyticsConfig.js +14 -0
  469. package/dist/atoms/search/chatSearch.cjs +208 -0
  470. package/dist/atoms/search/chatSearch.d.cts +115 -0
  471. package/dist/atoms/search/chatSearch.d.ts +115 -0
  472. package/dist/atoms/search/chatSearch.js +190 -0
  473. package/dist/atoms/search/index.cjs +15 -42
  474. package/dist/atoms/search/index.d.cts +2 -14
  475. package/dist/atoms/search/index.d.ts +2 -14
  476. package/dist/atoms/search/index.js +2 -29
  477. package/dist/atoms/search/productFilters.cjs +99 -0
  478. package/dist/atoms/search/productFilters.js +99 -0
  479. package/dist/atoms/search/productRetrievalAPI.cjs +50 -0
  480. package/dist/atoms/search/productRetrievalAPI.js +47 -0
  481. package/dist/atoms/search/productRetrievalAdapter.cjs +11 -0
  482. package/dist/atoms/search/productRetrievalAdapter.js +10 -0
  483. package/dist/atoms/search/productSorter.cjs +16 -0
  484. package/dist/atoms/search/productSorter.js +16 -0
  485. package/dist/atoms/search/searchAPI.cjs +135 -0
  486. package/dist/atoms/search/searchAPI.d.cts +76 -0
  487. package/dist/atoms/search/searchAPI.d.ts +76 -0
  488. package/dist/atoms/search/searchAPI.js +122 -0
  489. package/dist/atoms/search/searchServiceAdapter.cjs +19 -0
  490. package/dist/atoms/search/searchServiceAdapter.js +16 -0
  491. package/dist/atoms/search/types.cjs +32 -4
  492. package/dist/atoms/search/types.d.cts +60 -4
  493. package/dist/atoms/search/types.d.ts +60 -4
  494. package/dist/atoms/search/types.js +29 -2
  495. package/dist/atoms/search/utils.cjs +23 -2
  496. package/dist/atoms/search/utils.js +22 -2
  497. package/dist/config/index.cjs +74 -70
  498. package/dist/config/index.d.cts +8 -4
  499. package/dist/config/index.d.ts +8 -4
  500. package/dist/config/index.js +8 -4
  501. package/dist/config/locators/components/chat/index.cjs +44 -21
  502. package/dist/config/locators/components/chat/index.d.cts +24 -2
  503. package/dist/config/locators/components/chat/index.d.ts +24 -2
  504. package/dist/config/locators/components/chat/index.js +24 -2
  505. package/dist/config/locators/components/chat/variants/index.cjs +1 -1
  506. package/dist/config/locators/components/chat/variants/index.js +1 -1
  507. package/dist/config/locators/components/common/buttons.cjs +17 -0
  508. package/dist/config/locators/components/common/buttons.d.cts +10 -0
  509. package/dist/config/locators/components/common/buttons.d.ts +10 -0
  510. package/dist/config/locators/components/common/buttons.js +11 -0
  511. package/dist/config/locators/components/common/cards.cjs +39 -0
  512. package/dist/config/locators/components/common/cards.d.cts +21 -0
  513. package/dist/config/locators/components/common/cards.d.ts +21 -0
  514. package/dist/config/locators/components/common/cards.js +22 -0
  515. package/dist/config/locators/components/common/index.cjs +29 -26
  516. package/dist/config/locators/components/common/index.d.cts +4 -1
  517. package/dist/config/locators/components/common/index.d.ts +4 -1
  518. package/dist/config/locators/components/common/index.js +4 -1
  519. package/dist/config/locators/components/common/links.cjs +7 -0
  520. package/dist/config/locators/components/common/links.d.cts +5 -0
  521. package/dist/config/locators/components/common/links.d.ts +5 -0
  522. package/dist/config/locators/components/common/links.js +6 -0
  523. package/dist/config/locators/components/common/tables.cjs +7 -0
  524. package/dist/config/locators/components/common/tables.d.cts +5 -0
  525. package/dist/config/locators/components/common/tables.d.ts +5 -0
  526. package/dist/config/locators/components/common/tables.js +6 -0
  527. package/dist/config/locators/components/floating-button.cjs +9 -0
  528. package/dist/config/locators/components/floating-button.d.cts +6 -0
  529. package/dist/config/locators/components/floating-button.d.ts +6 -0
  530. package/dist/config/locators/components/floating-button.js +7 -0
  531. package/dist/config/locators/components/index.cjs +5 -4
  532. package/dist/config/locators/components/index.d.cts +2 -1
  533. package/dist/config/locators/components/index.d.ts +2 -1
  534. package/dist/config/locators/components/index.js +2 -1
  535. package/dist/config/locators/components/shadow-dom.cjs +7 -0
  536. package/dist/config/locators/components/shadow-dom.d.cts +5 -0
  537. package/dist/config/locators/components/shadow-dom.d.ts +5 -0
  538. package/dist/config/locators/components/shadow-dom.js +6 -0
  539. package/dist/config/locators/embedded.cjs +41 -0
  540. package/dist/{index-COXkY78t.d.cts → config/locators/embedded.d.cts} +1 -1
  541. package/dist/{index-BKvFVPUX.d.ts → config/locators/embedded.d.ts} +1 -1
  542. package/dist/{locators-BMQGmGLq.js → config/locators/embedded.js} +1 -1
  543. package/dist/config/locators/index.cjs +74 -70
  544. package/dist/config/locators/index.d.cts +8 -4
  545. package/dist/config/locators/index.d.ts +8 -4
  546. package/dist/config/locators/index.js +8 -4
  547. package/dist/contexts/amplitudeContext/amplitudeContext.cjs +275 -0
  548. package/dist/contexts/amplitudeContext/amplitudeContext.d.cts +52 -0
  549. package/dist/contexts/amplitudeContext/amplitudeContext.d.ts +52 -0
  550. package/dist/contexts/amplitudeContext/amplitudeContext.js +271 -0
  551. package/dist/contexts/amplitudeContext/index.cjs +1 -20
  552. package/dist/contexts/amplitudeContext/index.d.cts +1 -1
  553. package/dist/contexts/amplitudeContext/index.d.ts +1 -1
  554. package/dist/contexts/amplitudeContext/index.js +1 -20
  555. package/dist/contexts/cdnContext/cdnContext.cjs +41 -0
  556. package/dist/contexts/cdnContext/cdnContext.d.cts +15 -0
  557. package/dist/contexts/cdnContext/cdnContext.d.ts +15 -0
  558. package/dist/contexts/cdnContext/cdnContext.js +38 -0
  559. package/dist/contexts/cdnContext/index.cjs +1 -4
  560. package/dist/contexts/cdnContext/index.d.cts +2 -15
  561. package/dist/contexts/cdnContext/index.d.ts +2 -15
  562. package/dist/contexts/cdnContext/index.js +1 -4
  563. package/dist/contexts/chatContext/chatContext.cjs +306 -0
  564. package/dist/contexts/chatContext/chatContext.d.cts +15 -0
  565. package/dist/contexts/chatContext/chatContext.d.ts +15 -0
  566. package/dist/contexts/chatContext/chatContext.js +304 -0
  567. package/dist/contexts/chatContext/index.cjs +3 -330
  568. package/dist/contexts/chatContext/index.d.cts +2 -15
  569. package/dist/contexts/chatContext/index.d.ts +2 -15
  570. package/dist/contexts/chatContext/index.js +2 -323
  571. package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +48 -0
  572. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +29 -0
  573. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +29 -0
  574. package/dist/contexts/enviveConfigContext/enviveConfigContext.js +45 -0
  575. package/dist/contexts/enviveConfigContext/index.cjs +1 -4
  576. package/dist/contexts/enviveConfigContext/index.d.cts +2 -30
  577. package/dist/contexts/enviveConfigContext/index.d.ts +2 -30
  578. package/dist/contexts/enviveConfigContext/index.js +1 -4
  579. package/dist/contexts/enviveCssContext/enviveCssContext.cjs +49 -0
  580. package/dist/contexts/enviveCssContext/enviveCssContext.d.cts +10 -0
  581. package/dist/contexts/enviveCssContext/enviveCssContext.d.ts +10 -0
  582. package/dist/contexts/enviveCssContext/enviveCssContext.js +47 -0
  583. package/dist/contexts/enviveCssContext/index.cjs +2 -65
  584. package/dist/contexts/enviveCssContext/index.d.cts +2 -10
  585. package/dist/contexts/enviveCssContext/index.d.ts +2 -10
  586. package/dist/contexts/enviveCssContext/index.js +2 -62
  587. package/dist/contexts/featureFlagContext/featureFlagContext.cjs +105 -0
  588. package/dist/contexts/featureFlagContext/featureFlagContext.d.cts +19 -0
  589. package/dist/contexts/featureFlagContext/featureFlagContext.d.ts +19 -0
  590. package/dist/contexts/featureFlagContext/featureFlagContext.js +102 -0
  591. package/dist/contexts/featureFlagContext/index.cjs +3 -106
  592. package/dist/contexts/featureFlagContext/index.d.cts +2 -20
  593. package/dist/contexts/featureFlagContext/index.d.ts +2 -20
  594. package/dist/contexts/featureFlagContext/index.js +2 -102
  595. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +46 -0
  596. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +24 -0
  597. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +24 -0
  598. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +42 -0
  599. package/dist/contexts/featureFlagServiceContext/index.cjs +1 -3
  600. package/dist/contexts/featureFlagServiceContext/index.d.cts +1 -4
  601. package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -4
  602. package/dist/contexts/featureFlagServiceContext/index.js +1 -3
  603. package/dist/contexts/graphqlContext/graphqlContext.cjs +99 -0
  604. package/dist/contexts/graphqlContext/graphqlContext.d.cts +29 -0
  605. package/dist/contexts/graphqlContext/graphqlContext.d.ts +29 -0
  606. package/dist/contexts/graphqlContext/graphqlContext.js +96 -0
  607. package/dist/contexts/graphqlContext/index.cjs +1 -13
  608. package/dist/contexts/graphqlContext/index.d.cts +1 -14
  609. package/dist/contexts/graphqlContext/index.d.ts +1 -14
  610. package/dist/contexts/graphqlContext/index.js +1 -13
  611. package/dist/contexts/localStorageContext/index.cjs +1 -2
  612. package/dist/contexts/localStorageContext/index.d.cts +2 -30
  613. package/dist/contexts/localStorageContext/index.d.ts +2 -30
  614. package/dist/contexts/localStorageContext/index.js +1 -2
  615. package/dist/contexts/localStorageContext/localStorageContext.cjs +99 -0
  616. package/dist/contexts/localStorageContext/localStorageContext.d.cts +25 -0
  617. package/dist/contexts/localStorageContext/localStorageContext.d.ts +25 -0
  618. package/dist/contexts/localStorageContext/localStorageContext.js +95 -0
  619. package/dist/contexts/newOrgConfigContext/index.cjs +1 -17
  620. package/dist/contexts/newOrgConfigContext/index.d.cts +1 -15
  621. package/dist/contexts/newOrgConfigContext/index.d.ts +1 -15
  622. package/dist/contexts/newOrgConfigContext/index.js +1 -17
  623. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +56 -0
  624. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.d.cts +16 -0
  625. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.d.ts +16 -0
  626. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +53 -0
  627. package/dist/contexts/searchContext/index.cjs +1 -21
  628. package/dist/contexts/searchContext/index.d.cts +2 -16
  629. package/dist/contexts/searchContext/index.d.ts +2 -16
  630. package/dist/contexts/searchContext/index.js +1 -21
  631. package/dist/contexts/searchContext/searchContext.cjs +132 -0
  632. package/dist/contexts/searchContext/searchContext.d.cts +15 -0
  633. package/dist/contexts/searchContext/searchContext.d.ts +15 -0
  634. package/dist/contexts/searchContext/searchContext.js +129 -0
  635. package/dist/contexts/sessionStorageContext/index.cjs +1 -2
  636. package/dist/contexts/sessionStorageContext/index.d.cts +2 -15
  637. package/dist/contexts/sessionStorageContext/index.d.ts +2 -15
  638. package/dist/contexts/sessionStorageContext/index.js +1 -2
  639. package/dist/contexts/sessionStorageContext/sessionStorageContext.cjs +55 -0
  640. package/dist/contexts/sessionStorageContext/sessionStorageContext.d.cts +15 -0
  641. package/dist/contexts/sessionStorageContext/sessionStorageContext.d.ts +15 -0
  642. package/dist/contexts/sessionStorageContext/sessionStorageContext.js +52 -0
  643. package/dist/contexts/shopifyUrlContext/index.cjs +1 -2
  644. package/dist/contexts/shopifyUrlContext/index.d.cts +2 -20
  645. package/dist/contexts/shopifyUrlContext/index.d.ts +2 -20
  646. package/dist/contexts/shopifyUrlContext/index.js +1 -2
  647. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.cjs +64 -0
  648. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.d.cts +18 -0
  649. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.d.ts +18 -0
  650. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.js +61 -0
  651. package/dist/contexts/systemSettingsContext/index.cjs +1 -4
  652. package/dist/contexts/systemSettingsContext/index.d.cts +2 -38
  653. package/dist/contexts/systemSettingsContext/index.d.ts +2 -38
  654. package/dist/contexts/systemSettingsContext/index.js +1 -4
  655. package/dist/contexts/systemSettingsContext/systemSettingsContext.cjs +42 -0
  656. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +27 -0
  657. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +27 -0
  658. package/dist/contexts/systemSettingsContext/systemSettingsContext.js +39 -0
  659. package/dist/contexts/types.cjs +56 -6
  660. package/dist/contexts/types.d.cts +696 -4
  661. package/dist/contexts/types.d.ts +696 -4
  662. package/dist/contexts/types.js +52 -2
  663. package/dist/contexts/userIdentityContext/index.cjs +1 -25
  664. package/dist/contexts/userIdentityContext/index.d.cts +1 -1
  665. package/dist/contexts/userIdentityContext/index.d.ts +1 -1
  666. package/dist/contexts/userIdentityContext/index.js +1 -25
  667. package/dist/contexts/userIdentityContext/userIdentityContext.cjs +131 -0
  668. package/dist/contexts/userIdentityContext/userIdentityContext.d.cts +20 -0
  669. package/dist/contexts/userIdentityContext/userIdentityContext.d.ts +20 -0
  670. package/dist/contexts/userIdentityContext/userIdentityContext.js +127 -0
  671. package/dist/events/event-types.cjs +18 -0
  672. package/dist/events/event-types.d.cts +15 -0
  673. package/dist/events/event-types.d.ts +15 -0
  674. package/dist/events/event-types.js +17 -0
  675. package/dist/events/index.cjs +65 -3
  676. package/dist/events/index.d.cts +4 -14
  677. package/dist/events/index.d.ts +4 -14
  678. package/dist/events/index.js +64 -2
  679. package/dist/hooks/AmplitudeOperations/index.cjs +1 -21
  680. package/dist/hooks/AmplitudeOperations/index.d.cts +2 -12
  681. package/dist/hooks/AmplitudeOperations/index.d.ts +2 -12
  682. package/dist/hooks/AmplitudeOperations/index.js +1 -21
  683. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.cjs +35 -0
  684. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.cts +12 -0
  685. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.ts +12 -0
  686. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.js +34 -0
  687. package/dist/hooks/AppDetails/index.cjs +1 -17
  688. package/dist/hooks/AppDetails/index.d.cts +2 -28
  689. package/dist/hooks/AppDetails/index.d.ts +2 -28
  690. package/dist/hooks/AppDetails/index.js +1 -17
  691. package/dist/hooks/AppDetails/useAppDetails.cjs +25 -0
  692. package/dist/hooks/AppDetails/useAppDetails.d.cts +17 -0
  693. package/dist/hooks/AppDetails/useAppDetails.d.ts +17 -0
  694. package/dist/hooks/AppDetails/useAppDetails.js +24 -0
  695. package/dist/hooks/BlockBackButton/index.cjs +2 -28
  696. package/dist/hooks/BlockBackButton/index.d.cts +2 -5
  697. package/dist/hooks/BlockBackButton/index.d.ts +2 -5
  698. package/dist/hooks/BlockBackButton/index.js +2 -26
  699. package/dist/hooks/BlockBackButton/useBlockBackButton.cjs +28 -0
  700. package/dist/hooks/BlockBackButton/useBlockBackButton.d.cts +5 -0
  701. package/dist/hooks/BlockBackButton/useBlockBackButton.d.ts +5 -0
  702. package/dist/hooks/BlockBackButton/useBlockBackButton.js +27 -0
  703. package/dist/hooks/CdnOperations/index.cjs +4 -23
  704. package/dist/hooks/CdnOperations/index.d.cts +2 -7
  705. package/dist/hooks/CdnOperations/index.d.ts +2 -7
  706. package/dist/hooks/CdnOperations/index.js +2 -21
  707. package/dist/hooks/CdnOperations/useCdnOperations.cjs +22 -0
  708. package/dist/hooks/CdnOperations/useCdnOperations.d.cts +7 -0
  709. package/dist/hooks/CdnOperations/useCdnOperations.d.ts +7 -0
  710. package/dist/hooks/CdnOperations/useCdnOperations.js +20 -0
  711. package/dist/hooks/ChatToggle/index.cjs +2 -64
  712. package/dist/hooks/ChatToggle/index.d.cts +2 -12
  713. package/dist/hooks/ChatToggle/index.d.ts +2 -12
  714. package/dist/hooks/ChatToggle/index.js +2 -62
  715. package/dist/hooks/ChatToggle/useChatToggle.cjs +45 -0
  716. package/dist/hooks/ChatToggle/useChatToggle.d.cts +12 -0
  717. package/dist/hooks/ChatToggle/useChatToggle.d.ts +12 -0
  718. package/dist/hooks/ChatToggle/useChatToggle.js +44 -0
  719. package/dist/hooks/ChatToggleAnalytics/index.cjs +2 -38
  720. package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -9
  721. package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -9
  722. package/dist/hooks/ChatToggleAnalytics/index.js +2 -36
  723. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.cjs +19 -0
  724. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.d.cts +9 -0
  725. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.d.ts +9 -0
  726. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.js +18 -0
  727. package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -35
  728. package/dist/hooks/CustomerSupportHandoff/index.d.cts +2 -16
  729. package/dist/hooks/CustomerSupportHandoff/index.d.ts +2 -16
  730. package/dist/hooks/CustomerSupportHandoff/index.js +2 -33
  731. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.cjs +35 -0
  732. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.d.cts +16 -0
  733. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.d.ts +16 -0
  734. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.js +34 -0
  735. package/dist/hooks/Debounce/index.cjs +2 -20
  736. package/dist/hooks/Debounce/index.d.cts +2 -5
  737. package/dist/hooks/Debounce/index.d.ts +2 -5
  738. package/dist/hooks/Debounce/index.js +2 -18
  739. package/dist/hooks/Debounce/useDebounce.cjs +20 -0
  740. package/dist/hooks/Debounce/useDebounce.d.cts +5 -0
  741. package/dist/hooks/Debounce/useDebounce.d.ts +5 -0
  742. package/dist/hooks/Debounce/useDebounce.js +19 -0
  743. package/dist/hooks/ElementObserver/index.cjs +2 -178
  744. package/dist/hooks/ElementObserver/index.d.cts +2 -29
  745. package/dist/hooks/ElementObserver/index.d.ts +2 -29
  746. package/dist/hooks/ElementObserver/index.js +2 -176
  747. package/dist/hooks/ElementObserver/useElementObserver.cjs +178 -0
  748. package/dist/hooks/ElementObserver/useElementObserver.d.cts +30 -0
  749. package/dist/hooks/ElementObserver/useElementObserver.d.ts +30 -0
  750. package/dist/hooks/ElementObserver/useElementObserver.js +177 -0
  751. package/dist/hooks/GrabAndScroll/index.cjs +2 -98
  752. package/dist/hooks/GrabAndScroll/index.d.cts +2 -14
  753. package/dist/hooks/GrabAndScroll/index.d.ts +2 -14
  754. package/dist/hooks/GrabAndScroll/index.js +2 -96
  755. package/dist/hooks/GrabAndScroll/useGrabAndScroll.cjs +96 -0
  756. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +14 -0
  757. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +14 -0
  758. package/dist/hooks/GrabAndScroll/useGrabAndScroll.js +95 -0
  759. package/dist/hooks/GraphQLConfig/index.cjs +1 -14
  760. package/dist/hooks/GraphQLConfig/index.d.cts +2 -29
  761. package/dist/hooks/GraphQLConfig/index.d.ts +2 -29
  762. package/dist/hooks/GraphQLConfig/index.js +1 -14
  763. package/dist/hooks/GraphQLConfig/useGraphQLConfig.cjs +63 -0
  764. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.cts +17 -0
  765. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.ts +17 -0
  766. package/dist/hooks/GraphQLConfig/useGraphQLConfig.js +61 -0
  767. package/dist/hooks/IdentifyUser/index.cjs +2 -60
  768. package/dist/hooks/IdentifyUser/index.d.cts +2 -10
  769. package/dist/hooks/IdentifyUser/index.d.ts +2 -10
  770. package/dist/hooks/IdentifyUser/index.js +2 -58
  771. package/dist/hooks/IdentifyUser/useIdentifyUser.cjs +35 -0
  772. package/dist/hooks/IdentifyUser/useIdentifyUser.d.cts +10 -0
  773. package/dist/hooks/IdentifyUser/useIdentifyUser.d.ts +10 -0
  774. package/dist/hooks/IdentifyUser/useIdentifyUser.js +34 -0
  775. package/dist/hooks/ImageResolver/index.cjs +2 -54
  776. package/dist/hooks/ImageResolver/index.d.cts +2 -7
  777. package/dist/hooks/ImageResolver/index.d.ts +2 -7
  778. package/dist/hooks/ImageResolver/index.js +2 -52
  779. package/dist/hooks/ImageResolver/useImageResolver.cjs +45 -0
  780. package/dist/hooks/ImageResolver/useImageResolver.d.cts +7 -0
  781. package/dist/hooks/ImageResolver/useImageResolver.d.ts +7 -0
  782. package/dist/hooks/ImageResolver/useImageResolver.js +44 -0
  783. package/dist/hooks/Intersection/index.cjs +1 -1
  784. package/dist/hooks/Intersection/index.d.cts +2 -7
  785. package/dist/hooks/Intersection/index.d.ts +2 -7
  786. package/dist/hooks/Intersection/index.js +1 -1
  787. package/dist/hooks/Intersection/useIntersection.cjs +22 -0
  788. package/dist/hooks/Intersection/useIntersection.d.cts +7 -0
  789. package/dist/hooks/Intersection/useIntersection.d.ts +7 -0
  790. package/dist/hooks/Intersection/useIntersection.js +21 -0
  791. package/dist/hooks/IsSmallScreen/index.cjs +2 -21
  792. package/dist/hooks/IsSmallScreen/index.d.cts +2 -5
  793. package/dist/hooks/IsSmallScreen/index.d.ts +2 -5
  794. package/dist/hooks/IsSmallScreen/index.js +2 -19
  795. package/dist/hooks/IsSmallScreen/useIsSmallScreen.cjs +21 -0
  796. package/dist/hooks/IsSmallScreen/useIsSmallScreen.d.cts +5 -0
  797. package/dist/hooks/IsSmallScreen/useIsSmallScreen.d.ts +5 -0
  798. package/dist/hooks/IsSmallScreen/useIsSmallScreen.js +20 -0
  799. package/dist/hooks/LocalStorageOperations/index.cjs +5 -78
  800. package/dist/hooks/LocalStorageOperations/index.d.cts +2 -17
  801. package/dist/hooks/LocalStorageOperations/index.d.ts +2 -17
  802. package/dist/hooks/LocalStorageOperations/index.js +2 -73
  803. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.cjs +77 -0
  804. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.d.cts +17 -0
  805. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.d.ts +17 -0
  806. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.js +73 -0
  807. package/dist/hooks/MessageFilter/index.cjs +2 -53
  808. package/dist/hooks/MessageFilter/index.d.cts +2 -31
  809. package/dist/hooks/MessageFilter/index.d.ts +2 -31
  810. package/dist/hooks/MessageFilter/index.js +2 -53
  811. package/dist/hooks/MessageFilter/useMessageFilter.cjs +43 -0
  812. package/dist/hooks/MessageFilter/useMessageFilter.d.cts +20 -0
  813. package/dist/hooks/MessageFilter/useMessageFilter.d.ts +20 -0
  814. package/dist/hooks/MessageFilter/useMessageFilter.js +43 -0
  815. package/dist/hooks/MessageScrollObserver/index.cjs +2 -35
  816. package/dist/hooks/MessageScrollObserver/index.d.cts +2 -5
  817. package/dist/hooks/MessageScrollObserver/index.d.ts +2 -5
  818. package/dist/hooks/MessageScrollObserver/index.js +2 -33
  819. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.cjs +33 -0
  820. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.d.cts +5 -0
  821. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.d.ts +5 -0
  822. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.js +32 -0
  823. package/dist/hooks/NewOrgConfig/index.cjs +2 -19
  824. package/dist/hooks/NewOrgConfig/index.d.cts +2 -21
  825. package/dist/hooks/NewOrgConfig/index.d.ts +2 -21
  826. package/dist/hooks/NewOrgConfig/index.js +1 -18
  827. package/dist/hooks/NewOrgConfig/useNewOrgConfig.cjs +10 -0
  828. package/dist/hooks/NewOrgConfig/useNewOrgConfig.d.cts +7 -0
  829. package/dist/hooks/NewOrgConfig/useNewOrgConfig.d.ts +7 -0
  830. package/dist/hooks/NewOrgConfig/useNewOrgConfig.js +10 -0
  831. package/dist/hooks/Search/index.cjs +2 -503
  832. package/dist/hooks/Search/index.d.cts +2 -72
  833. package/dist/hooks/Search/index.d.ts +2 -72
  834. package/dist/hooks/Search/index.js +2 -499
  835. package/dist/hooks/Search/useRecommendedProducts.cjs +41 -0
  836. package/dist/hooks/Search/useRecommendedProducts.js +40 -0
  837. package/dist/hooks/Search/useSearch.cjs +232 -0
  838. package/dist/hooks/Search/useSearch.d.cts +62 -0
  839. package/dist/hooks/Search/useSearch.d.ts +62 -0
  840. package/dist/hooks/Search/useSearch.js +231 -0
  841. package/dist/hooks/Search/useSearchInput.cjs +173 -0
  842. package/dist/hooks/Search/useSearchInput.js +171 -0
  843. package/dist/hooks/SearchOperations/index.cjs +3 -101
  844. package/dist/hooks/SearchOperations/index.d.cts +2 -22
  845. package/dist/hooks/SearchOperations/index.d.ts +2 -22
  846. package/dist/hooks/SearchOperations/index.js +2 -98
  847. package/dist/hooks/SearchOperations/useSearchOperations.cjs +77 -0
  848. package/dist/hooks/SearchOperations/useSearchOperations.d.cts +21 -0
  849. package/dist/hooks/SearchOperations/useSearchOperations.d.ts +21 -0
  850. package/dist/hooks/SearchOperations/useSearchOperations.js +75 -0
  851. package/dist/hooks/SessionStorageOperations/index.cjs +2 -29
  852. package/dist/hooks/SessionStorageOperations/index.d.cts +2 -8
  853. package/dist/hooks/SessionStorageOperations/index.d.ts +2 -8
  854. package/dist/hooks/SessionStorageOperations/index.js +2 -27
  855. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.cjs +28 -0
  856. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.d.cts +8 -0
  857. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.d.ts +8 -0
  858. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.js +27 -0
  859. package/dist/hooks/ShopifyUrlOperations/index.cjs +4 -52
  860. package/dist/hooks/ShopifyUrlOperations/index.d.cts +2 -23
  861. package/dist/hooks/ShopifyUrlOperations/index.d.ts +2 -23
  862. package/dist/hooks/ShopifyUrlOperations/index.js +2 -48
  863. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.cjs +51 -0
  864. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.cts +21 -0
  865. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.ts +21 -0
  866. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.js +48 -0
  867. package/dist/hooks/SnapCalculator/index.cjs +2 -28
  868. package/dist/hooks/SnapCalculator/index.d.cts +2 -12
  869. package/dist/hooks/SnapCalculator/index.d.ts +2 -12
  870. package/dist/hooks/SnapCalculator/index.js +2 -26
  871. package/dist/hooks/SnapCalculator/useSnapCalculator.cjs +28 -0
  872. package/dist/hooks/SnapCalculator/useSnapCalculator.d.cts +12 -0
  873. package/dist/hooks/SnapCalculator/useSnapCalculator.d.ts +12 -0
  874. package/dist/hooks/SnapCalculator/useSnapCalculator.js +27 -0
  875. package/dist/hooks/SystemSettingsContext/index.cjs +2 -6
  876. package/dist/hooks/SystemSettingsContext/index.d.cts +2 -24
  877. package/dist/hooks/SystemSettingsContext/index.d.ts +2 -24
  878. package/dist/hooks/SystemSettingsContext/index.js +1 -5
  879. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.cjs +15 -0
  880. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +13 -0
  881. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.ts +13 -0
  882. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.js +14 -0
  883. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +2 -22
  884. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +2 -18
  885. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +2 -18
  886. package/dist/hooks/TrackComponentVisibleEvent/index.js +1 -21
  887. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +53 -0
  888. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +18 -0
  889. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +18 -0
  890. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +52 -0
  891. package/dist/hooks/UpdateAnalyticsProps/index.cjs +2 -62
  892. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +2 -9
  893. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +2 -9
  894. package/dist/hooks/UpdateAnalyticsProps/index.js +2 -59
  895. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.cjs +44 -0
  896. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.d.cts +9 -0
  897. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.d.ts +9 -0
  898. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +43 -0
  899. package/dist/hooks/utils.cjs +97 -7
  900. package/dist/hooks/utils.d.cts +22 -14
  901. package/dist/hooks/utils.d.ts +22 -14
  902. package/dist/hooks/utils.js +91 -2
  903. package/dist/interceptors/index.cjs +1 -2
  904. package/dist/interceptors/index.d.cts +3 -21
  905. package/dist/interceptors/index.d.ts +3 -21
  906. package/dist/interceptors/index.js +1 -2
  907. package/dist/interceptors/types.cjs +0 -1
  908. package/dist/interceptors/types.d.cts +10 -14
  909. package/dist/interceptors/types.d.ts +10 -14
  910. package/dist/interceptors/types.js +0 -2
  911. package/dist/interceptors/useMessageInterceptor.cjs +26 -0
  912. package/dist/interceptors/useMessageInterceptor.d.cts +9 -0
  913. package/dist/interceptors/useMessageInterceptor.d.ts +9 -0
  914. package/dist/interceptors/useMessageInterceptor.js +25 -0
  915. package/dist/merchants/domInsertion.cjs +17 -0
  916. package/dist/merchants/domInsertion.d.cts +14 -0
  917. package/dist/merchants/domInsertion.d.ts +14 -0
  918. package/dist/merchants/domInsertion.js +16 -0
  919. package/dist/merchants/gridInsertion.cjs +24 -0
  920. package/dist/merchants/gridInsertion.d.cts +21 -0
  921. package/dist/merchants/gridInsertion.d.ts +21 -0
  922. package/dist/merchants/gridInsertion.js +23 -0
  923. package/dist/types/OrgInfo.d.cts +13 -0
  924. package/dist/types/OrgInfo.d.ts +13 -0
  925. package/dist/types/config-versions.cjs +8 -0
  926. package/dist/types/config-versions.js +8 -0
  927. package/dist/types/customerService.d.cts +22 -0
  928. package/dist/types/customerService.d.ts +24 -0
  929. package/dist/types/custservice-types.cjs +25 -0
  930. package/dist/types/custservice-types.d.cts +29 -0
  931. package/dist/types/custservice-types.d.ts +29 -0
  932. package/dist/types/custservice-types.js +23 -0
  933. package/dist/types/exceptions/sessionExceptions.cjs +12 -0
  934. package/dist/types/exceptions/sessionExceptions.js +11 -0
  935. package/dist/types/exceptions/unsupportedProductExceptions.cjs +12 -0
  936. package/dist/types/exceptions/unsupportedProductExceptions.js +11 -0
  937. package/dist/types/index.cjs +5 -33
  938. package/dist/types/index.d.cts +6 -3
  939. package/dist/types/index.d.ts +6 -3
  940. package/dist/types/index.js +3 -30
  941. package/dist/types/search-filter-types.d.cts +102 -0
  942. package/dist/types/search-filter-types.d.ts +102 -0
  943. package/dist/types/suggestionBarV2-types.cjs +11 -0
  944. package/dist/types/suggestionBarV2-types.d.cts +8 -0
  945. package/dist/types/suggestionBarV2-types.d.ts +8 -0
  946. package/dist/types/suggestionBarV2-types.js +10 -0
  947. package/dist/types/test-types.d.cts +7 -0
  948. package/dist/types/test-types.d.ts +7 -0
  949. package/package.json +4 -5
  950. package/src/application/commerce-api.ts +123 -176
  951. package/src/application/logging/logger.ts +2 -10
  952. package/src/application/models/api/orgConfigResults.ts +4 -4
  953. package/src/application/models/cachedValue.ts +1 -3
  954. package/src/application/models/clientDetails.ts +1 -3
  955. package/src/application/models/colorsConfig.ts +18 -18
  956. package/src/application/models/frontendConfig.ts +2 -2
  957. package/src/application/models/googleAnalyticsEvents.ts +1 -3
  958. package/src/application/models/graphql/index.ts +1 -1
  959. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -1
  960. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -1
  961. package/src/application/models/guards/api/isApiOrgConfigResults.ts +3 -3
  962. package/src/application/models/guards/api/isApiOrganizationConfig.ts +1 -4
  963. package/src/application/models/guards/api/isApiProductResponseAttributes.ts +1 -3
  964. package/src/application/models/guards/api/isApiReviewRichInformation.ts +2 -2
  965. package/src/application/models/guards/api/isApiSearchEventAttributes.ts +1 -1
  966. package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
  967. package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +1 -1
  968. package/src/application/models/index.ts +87 -87
  969. package/src/application/models/spanxTakeAQuizCtaParameter.ts +1 -1
  970. package/src/application/models/spiffyWidgets.ts +0 -1
  971. package/src/application/models/utils/snakeToCamelTransformer.ts +10 -10
  972. package/src/application/models/validators/validateGraphQLColorsConfig.ts +3 -5
  973. package/src/application/models/validators/validateOrgConfigResults.ts +3 -3
  974. package/src/application/models/validators/validateResponse.ts +1 -1
  975. package/src/application/utils/analyticsUtils.ts +17 -33
  976. package/src/application/utils/cdnUtils.ts +4 -7
  977. package/src/application/utils/domObserver.ts +8 -8
  978. package/src/application/utils/elementObserver.ts +3 -3
  979. package/src/application/utils/imageFilter.ts +9 -6
  980. package/src/application/utils/index.ts +21 -21
  981. package/src/application/utils/merchantUtils.ts +8 -8
  982. package/src/application/utils/messageFromSuggestionEvent.ts +1 -1
  983. package/src/application/utils/mutationHelper.ts +3 -3
  984. package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
  985. package/src/application/utils/stringUtils.ts +0 -2
  986. package/src/application/utils/urlsParser.ts +1 -1
  987. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +5 -5
  988. package/src/atoms/app/index.ts +21 -26
  989. package/src/atoms/app/variant.ts +8 -8
  990. package/src/atoms/atomStore/index.ts +1 -1
  991. package/src/atoms/chat/chatState.ts +9 -19
  992. package/src/atoms/chat/index.ts +1 -1
  993. package/src/atoms/chat/lastMessage.ts +1 -1
  994. package/src/atoms/chat/messageQueue.ts +27 -52
  995. package/src/atoms/chat/performanceMetrics.ts +38 -51
  996. package/src/atoms/chat/renderedWidgetRefs.ts +3 -3
  997. package/src/atoms/chat/replies.ts +40 -43
  998. package/src/atoms/envive/enviveConfig.ts +27 -32
  999. package/src/atoms/globalSearch/index.ts +1 -1
  1000. package/src/atoms/org/customerService.ts +4 -8
  1001. package/src/atoms/org/graphqlConfig.ts +10 -16
  1002. package/src/atoms/org/index.ts +4 -4
  1003. package/src/atoms/org/newOrgConfigAtom.ts +2 -2
  1004. package/src/atoms/org/orgAnalyticsConfig.ts +4 -4
  1005. package/src/atoms/search/chatSearch.ts +74 -101
  1006. package/src/atoms/search/productFilters.ts +15 -15
  1007. package/src/atoms/search/productRetrievalAPI.ts +9 -11
  1008. package/src/atoms/search/productRetrievalAdapter.ts +4 -4
  1009. package/src/atoms/search/searchAPI.ts +46 -64
  1010. package/src/atoms/search/searchServiceAdapter.ts +4 -8
  1011. package/src/atoms/search/types.ts +2 -2
  1012. package/src/atoms/search/utils.ts +1 -1
  1013. package/src/config/divIds.ts +8 -4
  1014. package/src/config/index.ts +1 -1
  1015. package/src/config/locators/components/chat/variants/index.ts +12 -13
  1016. package/src/config/locators/components/floating-button.ts +2 -2
  1017. package/src/config/locators/components/shadow-dom.ts +1 -1
  1018. package/src/config/locators/embedded.ts +2 -1
  1019. package/src/config/socialProofClasses.ts +9 -14
  1020. package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +107 -122
  1021. package/src/contexts/amplitudeContext/amplitudeContext.tsx +112 -143
  1022. package/src/contexts/amplitudeContext/index.ts +1 -1
  1023. package/src/contexts/cdnContext/cdnContext.tsx +8 -10
  1024. package/src/contexts/cdnContext/index.ts +1 -1
  1025. package/src/contexts/chatContext/chatContext.tsx +77 -123
  1026. package/src/contexts/chatContext/index.ts +1 -1
  1027. package/src/contexts/enviveConfigContext/__tests__/enviveConfigContext.test.tsx +125 -153
  1028. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +7 -7
  1029. package/src/contexts/enviveConfigContext/index.ts +1 -1
  1030. package/src/contexts/enviveCssContext/enviveCssContext.tsx +4 -8
  1031. package/src/contexts/enviveCssContext/index.ts +1 -1
  1032. package/src/contexts/featureFlagContext/featureFlagContext.tsx +28 -41
  1033. package/src/contexts/featureFlagContext/index.ts +1 -1
  1034. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +15 -25
  1035. package/src/contexts/featureFlagServiceContext/index.ts +1 -1
  1036. package/src/contexts/graphqlContext/__tests__/graphqlContext.test.tsx +142 -170
  1037. package/src/contexts/graphqlContext/graphqlContext.tsx +40 -60
  1038. package/src/contexts/graphqlContext/index.ts +1 -1
  1039. package/src/contexts/localStorageContext/__tests__/localStorageContext.test.tsx +155 -161
  1040. package/src/contexts/localStorageContext/index.ts +1 -1
  1041. package/src/contexts/localStorageContext/localStorageContext.tsx +25 -47
  1042. package/src/contexts/newOrgConfigContext/__tests__/newOrgConfigContext.test.tsx +119 -153
  1043. package/src/contexts/newOrgConfigContext/index.ts +1 -1
  1044. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +11 -17
  1045. package/src/contexts/searchContext/__tests__/searchContext.test.tsx +290 -227
  1046. package/src/contexts/searchContext/index.ts +1 -1
  1047. package/src/contexts/searchContext/searchContext.tsx +31 -45
  1048. package/src/contexts/sessionStorageContext/index.ts +1 -1
  1049. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +11 -27
  1050. package/src/contexts/shopifyUrlContext/index.ts +1 -1
  1051. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +21 -30
  1052. package/src/contexts/systemSettingsContext/__tests__/systemSettingsContext.test.tsx +130 -133
  1053. package/src/contexts/systemSettingsContext/index.ts +1 -1
  1054. package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +8 -21
  1055. package/src/contexts/types.ts +166 -221
  1056. package/src/contexts/userIdentityContext/__tests__/userIdentityContext.test.tsx +116 -130
  1057. package/src/contexts/userIdentityContext/index.ts +1 -1
  1058. package/src/contexts/userIdentityContext/userIdentityContext.tsx +29 -64
  1059. package/src/events/index.ts +7 -3
  1060. package/src/events/registerAnalyticsListeners.ts +10 -13
  1061. package/src/hooks/AmplitudeOperations/index.ts +1 -1
  1062. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +5 -8
  1063. package/src/hooks/AppDetails/index.ts +1 -1
  1064. package/src/hooks/AppDetails/useAppDetails.ts +10 -14
  1065. package/src/hooks/BlockBackButton/index.ts +1 -1
  1066. package/src/hooks/BlockBackButton/useBlockBackButton.ts +10 -13
  1067. package/src/hooks/CdnOperations/index.ts +1 -1
  1068. package/src/hooks/CdnOperations/useCdnOperations.ts +1 -1
  1069. package/src/hooks/ChatToggle/index.ts +1 -1
  1070. package/src/hooks/ChatToggle/useChatToggle.ts +7 -16
  1071. package/src/hooks/ChatToggleAnalytics/index.ts +1 -1
  1072. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
  1073. package/src/hooks/CustomerSupportHandoff/index.ts +1 -1
  1074. package/src/hooks/Debounce/index.ts +1 -1
  1075. package/src/hooks/ElementObserver/index.ts +1 -1
  1076. package/src/hooks/GrabAndScroll/index.ts +1 -1
  1077. package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +131 -119
  1078. package/src/hooks/GraphQLConfig/index.ts +1 -1
  1079. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +4 -7
  1080. package/src/hooks/IdentifyUser/index.ts +1 -1
  1081. package/src/hooks/IdentifyUser/useIdentifyUser.ts +4 -8
  1082. package/src/hooks/ImageResolver/index.ts +1 -1
  1083. package/src/hooks/ImageResolver/useImageResolver.ts +7 -16
  1084. package/src/hooks/Intersection/index.ts +1 -1
  1085. package/src/hooks/IsSmallScreen/index.ts +1 -1
  1086. package/src/hooks/LocalStorageOperations/index.ts +1 -1
  1087. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +12 -19
  1088. package/src/hooks/MessageFilter/index.ts +1 -1
  1089. package/src/hooks/MessageFilter/useMessageFilter.ts +1 -1
  1090. package/src/hooks/MessageScrollObserver/index.ts +1 -1
  1091. package/src/hooks/MessageScrollObserver/useMessageScrollObserver.ts +35 -37
  1092. package/src/hooks/NewOrgConfig/index.ts +1 -1
  1093. package/src/hooks/NewOrgConfig/useNewOrgConfig.ts +1 -1
  1094. package/src/hooks/Search/__tests__/useSearch.test.tsx +214 -247
  1095. package/src/hooks/Search/index.ts +1 -1
  1096. package/src/hooks/Search/useRecommendedProducts.ts +27 -33
  1097. package/src/hooks/Search/useSearch.tsx +65 -53
  1098. package/src/hooks/Search/useSearchInput.ts +23 -34
  1099. package/src/hooks/SearchOperations/index.ts +1 -1
  1100. package/src/hooks/SearchOperations/useSearchOperations.ts +8 -12
  1101. package/src/hooks/SessionStorageOperations/index.ts +1 -1
  1102. package/src/hooks/SessionStorageOperations/useSessionStorageOperations.ts +5 -5
  1103. package/src/hooks/ShopifyUrlOperations/index.ts +1 -1
  1104. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +8 -14
  1105. package/src/hooks/SnapCalculator/index.ts +1 -1
  1106. package/src/hooks/SnapCalculator/useSnapCalculator.ts +1 -1
  1107. package/src/hooks/SystemSettingsContext/index.ts +1 -1
  1108. package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +3 -5
  1109. package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -1
  1110. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +6 -6
  1111. package/src/hooks/UpdateAnalyticsProps/index.ts +1 -1
  1112. package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +10 -22
  1113. package/src/hooks/utils.ts +20 -29
  1114. package/src/interceptors/index.ts +2 -2
  1115. package/src/interceptors/useMessageInterceptor.ts +4 -4
  1116. package/src/merchants/domInsertion.ts +13 -15
  1117. package/src/merchants/gridInsertion.ts +15 -15
  1118. package/src/types/FilterAttribute.ts +7 -10
  1119. package/src/{types.ts → types/OrgInfo.ts} +1 -3
  1120. package/src/types/config-versions.ts +2 -4
  1121. package/src/types/customerService.ts +15 -15
  1122. package/src/types/custservice-types.ts +2 -2
  1123. package/src/types/exceptions/unsupportedProductExceptions.ts +1 -1
  1124. package/src/types/index.ts +5 -4
  1125. package/src/types/search-filter-types.ts +2 -2
  1126. package/src/types/suggestionBarV2-types.ts +3 -3
  1127. package/dist/AmplitudeOperations-ChZWcSsc.js +0 -1
  1128. package/dist/AmplitudeOperations-JggIc1zD.cjs +0 -0
  1129. package/dist/NewOrgConfig-BYo4V8-u.cjs +0 -15
  1130. package/dist/NewOrgConfig-kYrS59aR.js +0 -10
  1131. package/dist/SystemSettingsContext-BY1BFgAQ.js +0 -13
  1132. package/dist/SystemSettingsContext-EDpRMMt2.cjs +0 -20
  1133. package/dist/TrackComponentVisibleEvent-BHVBHQhu.js +0 -52
  1134. package/dist/TrackComponentVisibleEvent-B_2kXqvV.cjs +0 -59
  1135. package/dist/amplitudeContext-BItT9HmT.js +0 -1
  1136. package/dist/amplitudeContext-CCVyp5RU.d.cts +0 -52
  1137. package/dist/amplitudeContext-CjkMpI_a.cjs +0 -290
  1138. package/dist/amplitudeContext-D58WY1aS.js +0 -268
  1139. package/dist/amplitudeContext-DPtyVv3Q.cjs +0 -0
  1140. package/dist/amplitudeContext-DcRur97Z.d.ts +0 -52
  1141. package/dist/api-BWSsazAG.js +0 -166
  1142. package/dist/api-DeW6rHj3.cjs +0 -239
  1143. package/dist/app-BbPSHefQ.cjs +0 -156
  1144. package/dist/app-CflxT_xI.js +0 -110
  1145. package/dist/atomStore-CmZbgQHc.cjs +0 -58
  1146. package/dist/atomStore-DEcDhiLp.js +0 -32
  1147. package/dist/cdnContext-CaDyQ_5p.cjs +0 -53
  1148. package/dist/cdnContext-CtrIlAqX.js +0 -38
  1149. package/dist/chat-CLo8FBCb.cjs +0 -400
  1150. package/dist/chat-ClvJ9xEj.js +0 -25
  1151. package/dist/chat-DCGriB7h.cjs +0 -145
  1152. package/dist/chat-Qkx5llOV.js +0 -258
  1153. package/dist/chatElementDisplayLocation-BO3fY4hq.d.ts +0 -26
  1154. package/dist/chatElementDisplayLocation-Igta1TL1.d.cts +0 -26
  1155. package/dist/chatSearch-CP7QtVyA.cjs +0 -418
  1156. package/dist/chatSearch-CjMcB3fG.js +0 -295
  1157. package/dist/chatState-BUN8ehpy.js +0 -34
  1158. package/dist/chatState-BUlDJ4NK.cjs +0 -120
  1159. package/dist/commerce-api-CxnUXpTq.js +0 -312
  1160. package/dist/commerce-api-DNnrOYWX.cjs +0 -319
  1161. package/dist/common-DQPvV_S_.cjs +0 -189
  1162. package/dist/common-c_4eX0qn.js +0 -39
  1163. package/dist/components-CDpaMUjK.js +0 -11
  1164. package/dist/components-DKwVHIjq.cjs +0 -29
  1165. package/dist/domObserver-COKvTfZV.cjs +0 -304
  1166. package/dist/domObserver-DEiUh0qg.js +0 -285
  1167. package/dist/enviveConfig-DZBohDpc.js +0 -62
  1168. package/dist/enviveConfig-Dv9-esGV.cjs +0 -130
  1169. package/dist/enviveConfigContext-D2OELZDR.cjs +0 -60
  1170. package/dist/enviveConfigContext-DrDjCems.js +0 -45
  1171. package/dist/events-DYY4l817.cjs +0 -90
  1172. package/dist/events-DyUix-Bn.js +0 -78
  1173. package/dist/featureFlagServiceContext-CJyYItqu.cjs +0 -62
  1174. package/dist/featureFlagServiceContext-CPqbnfe3.d.cts +0 -23
  1175. package/dist/featureFlagServiceContext-FBM6DdMJ.js +0 -42
  1176. package/dist/featureFlagServiceContext-mFEI_SIk.d.ts +0 -23
  1177. package/dist/featureGates-KEwAL8p_.js +0 -26
  1178. package/dist/featureGates-qU_ulhpC.cjs +0 -32
  1179. package/dist/frontendConfig-DPpzM5cz.d.cts +0 -860
  1180. package/dist/frontendConfig-msK69LYN.d.ts +0 -860
  1181. package/dist/globalSearch-BOG3wmck.cjs +0 -39
  1182. package/dist/globalSearch-BQEX-2Ml.js +0 -14
  1183. package/dist/graphql-CkxgqsXP.js +0 -48
  1184. package/dist/graphql-i3dtpVTl.cjs +0 -71
  1185. package/dist/graphqlConfig-BnfE0ql5.cjs +0 -39
  1186. package/dist/graphqlConfig-CZGjJ8hP.js +0 -14
  1187. package/dist/graphqlContext-1BkFjchL.d.cts +0 -28
  1188. package/dist/graphqlContext-B1vmNkWT.d.ts +0 -28
  1189. package/dist/graphqlContext-C0hG5Uer.js +0 -96
  1190. package/dist/graphqlContext-Dddy7mr7.cjs +0 -111
  1191. package/dist/index--9_c4tze.d.ts +0 -9
  1192. package/dist/index-A0HvA68Y.d.cts +0 -1
  1193. package/dist/index-BEpDGqnz.d.cts +0 -41
  1194. package/dist/index-BNHIIgYk.d.ts +0 -24
  1195. package/dist/index-Bb3zXP0P.d.ts +0 -673
  1196. package/dist/index-Bq0xKgFw.d.cts +0 -186
  1197. package/dist/index-CCboEuTO.d.cts +0 -24
  1198. package/dist/index-CESxqFso.d.cts +0 -228
  1199. package/dist/index-D7htGSQC.d.ts +0 -44
  1200. package/dist/index-DM_5fh8c.d.ts +0 -101
  1201. package/dist/index-DNVvRcKu.d.ts +0 -1
  1202. package/dist/index-DU7uw0ba.d.cts +0 -101
  1203. package/dist/index-DXTWZLEm.d.cts +0 -673
  1204. package/dist/index-DZtnHhlr.d.cts +0 -9
  1205. package/dist/index-DeLfV7w5.d.ts +0 -186
  1206. package/dist/index-Dtw-hJdt.d.ts +0 -35
  1207. package/dist/index-Dxpscrvz.d.ts +0 -228
  1208. package/dist/index-ErVcwUnR.d.ts +0 -41
  1209. package/dist/index-OkKEOL6H.d.cts +0 -44
  1210. package/dist/index-hAqp0oYb.d.cts +0 -35
  1211. package/dist/localStorageContext-BPZ82q-G.js +0 -95
  1212. package/dist/localStorageContext-NRP-CdmF.cjs +0 -115
  1213. package/dist/locators-DxYdak1F.cjs +0 -131
  1214. package/dist/logger-TBIl4uIH.cjs +0 -26
  1215. package/dist/logger-W3lqg-4b.js +0 -20
  1216. package/dist/models-CE5YjbzE.js +0 -1286
  1217. package/dist/models-CJy0mOoW.cjs +0 -1521
  1218. package/dist/newOrgConfigAtom-CPA6Gp6n.cjs +0 -15
  1219. package/dist/newOrgConfigAtom-DEUj6H-p.js +0 -8
  1220. package/dist/newOrgConfigContext-CmQ-7Trc.d.ts +0 -16
  1221. package/dist/newOrgConfigContext-Deofb8_o.d.cts +0 -16
  1222. package/dist/newOrgConfigContext-Dg2gtrwB.cjs +0 -68
  1223. package/dist/newOrgConfigContext-P4xkie1E.js +0 -53
  1224. package/dist/nodeSelector-B5NfnUHv.d.ts +0 -31
  1225. package/dist/nodeSelector-vKB44CDB.d.cts +0 -31
  1226. package/dist/org-B_cWn2bt.cjs +0 -43
  1227. package/dist/org-h32_LSEb.js +0 -12
  1228. package/dist/orgAnalyticsConfig-Bm23fw4s.cjs +0 -39
  1229. package/dist/orgAnalyticsConfig-CpBmga08.js +0 -14
  1230. package/dist/responseGenerics-D9bS-Dd6.d.ts +0 -148
  1231. package/dist/responseGenerics-DWLV09cQ.d.cts +0 -148
  1232. package/dist/search-BRBqhum7.js +0 -126
  1233. package/dist/search-Bpd_wxaK.cjs +0 -205
  1234. package/dist/search-filter-types-BItKtezf.d.cts +0 -102
  1235. package/dist/search-filter-types-CGFhksO3.d.ts +0 -102
  1236. package/dist/searchContext-CitUyTLP.js +0 -129
  1237. package/dist/searchContext-D5_iwZ0f.cjs +0 -145
  1238. package/dist/searchServiceAdapter-BGlvoZFE.cjs +0 -34
  1239. package/dist/searchServiceAdapter-Db6jEcJs.js +0 -16
  1240. package/dist/sessionStorageContext-B6FsNKjj.cjs +0 -66
  1241. package/dist/sessionStorageContext-CLYCm83p.js +0 -52
  1242. package/dist/shopifyUrlContext-CxjV3qvH.cjs +0 -75
  1243. package/dist/shopifyUrlContext-D2btP_lY.js +0 -61
  1244. package/dist/spiffyWidgets-DK7Ekcy7.d.cts +0 -21
  1245. package/dist/spiffyWidgets-MTUAQq_u.d.ts +0 -21
  1246. package/dist/systemSettingsContext-DF0jSq9m.js +0 -39
  1247. package/dist/systemSettingsContext-dmE1v6w8.cjs +0 -60
  1248. package/dist/test-types-BEml_bm3.d.ts +0 -40
  1249. package/dist/test-types-Dsu8RJZu.d.cts +0 -40
  1250. package/dist/types-4LQ7LUCk.d.ts +0 -10
  1251. package/dist/types-BegmH0S1.d.ts +0 -60
  1252. package/dist/types-BuvXXGxE.cjs +0 -48
  1253. package/dist/types-CKPddlfS.cjs +0 -0
  1254. package/dist/types-CtUb63bt.js +0 -76
  1255. package/dist/types-DFsSqmWx.d.cts +0 -10
  1256. package/dist/types-DWorwfS-.d.cts +0 -60
  1257. package/dist/types-DXnG1tV0.js +0 -30
  1258. package/dist/types-Dc6hx6ei.js +0 -1
  1259. package/dist/types-UUvB6h05.cjs +0 -106
  1260. package/dist/types.cjs +0 -0
  1261. package/dist/types.d.cts +0 -15
  1262. package/dist/types.d.ts +0 -15
  1263. package/dist/types.js +0 -1
  1264. package/dist/unsupportedProductExceptions-DGENUnEA.cjs +0 -32
  1265. package/dist/unsupportedProductExceptions-uQuuelOs.js +0 -20
  1266. package/dist/urlsParser-COzMdJaX.cjs +0 -78
  1267. package/dist/urlsParser-DxjoLj98.js +0 -42
  1268. package/dist/useAmplitudeOperations-Cr03Hlk6.js +0 -34
  1269. package/dist/useAmplitudeOperations-DzFMBUU_.cjs +0 -41
  1270. package/dist/useAppDetails-BCvirEDu.cjs +0 -38
  1271. package/dist/useAppDetails-CiBg_ni5.js +0 -30
  1272. package/dist/useGraphQLConfig-8oeOwWRP.js +0 -63
  1273. package/dist/useGraphQLConfig-CO9lCk8b.cjs +0 -76
  1274. package/dist/useIntersection-CZSEBUbv.js +0 -21
  1275. package/dist/useIntersection-DSDREfj6.cjs +0 -28
  1276. package/dist/useMessageInterceptor-BjGP_uXm.js +0 -25
  1277. package/dist/useMessageInterceptor-arAqUq1Q.cjs +0 -33
  1278. package/dist/userIdentityContext-BgbcZ_P2.js +0 -126
  1279. package/dist/userIdentityContext-C6kApbuk.d.ts +0 -20
  1280. package/dist/userIdentityContext-CrWUNCrF.cjs +0 -143
  1281. package/dist/userIdentityContext-kU1PIo8K.d.cts +0 -20
  1282. package/dist/utilityTypes-B2KuRn37.js +0 -1
  1283. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  1284. package/dist/utils-BRkGP1eb.d.ts +0 -15
  1285. package/dist/utils-BXfzt6tu.cjs +0 -715
  1286. package/dist/utils-C2HshI4X.d.cts +0 -22
  1287. package/dist/utils-CDw74BCO.cjs +0 -33
  1288. package/dist/utils-Cv772xzd.js +0 -606
  1289. package/dist/utils-CvLmSsUj.cjs +0 -29
  1290. package/dist/utils-D82gfbgU.js +0 -23
  1291. package/dist/utils-DCrwX6FT.d.cts +0 -15
  1292. package/dist/utils-DIvMgPe8.js +0 -27
  1293. package/dist/utils-D_kATUj6.js +0 -92
  1294. package/dist/utils-aa1jK0Xe.d.ts +0 -22
  1295. package/dist/utils-hYTjy7hJ.cjs +0 -130
@@ -1,268 +0,0 @@
1
- import { EventsDispatcher, SpiffyEvent } from "./events-DyUix-Bn.js";
2
- import { OrgShortName } from "./models-CE5YjbzE.js";
3
- import { FeatureGates } from "./featureGates-KEwAL8p_.js";
4
- import { logger_default } from "./logger-W3lqg-4b.js";
5
- import { LocalStorageKeys, useLocalStorage } from "./localStorageContext-BPZ82q-G.js";
6
- import { amplitudeApiKeyAtom, contextSourceAtom, dataResidencyAtom, envAtom, identifyingPrefixAtom } from "./enviveConfig-DZBohDpc.js";
7
- import { orgAnalyticsGoogleAnalyticsConfigAtom } from "./orgAnalyticsConfig-CpBmga08.js";
8
- import { userIdAtom } from "./app-CflxT_xI.js";
9
- import { useEnviveConfig } from "./enviveConfigContext-DrDjCems.js";
10
- import { useFeatureFlagService } from "./featureFlagServiceContext-FBM6DdMJ.js";
11
- import React, { createContext, useCallback, useContext, useEffect, useMemo } from "react";
12
- import { useAtomValue } from "jotai";
13
- import { createInstance } from "@amplitude/analytics-browser";
14
- import { jsx } from "react/jsx-runtime";
15
-
16
- //#region src/contexts/amplitudeContext/amplitudeContext.tsx
17
- let SpiffyMetricsEventName = /* @__PURE__ */ function(SpiffyMetricsEventName$1) {
18
- SpiffyMetricsEventName$1["BundleLoaded"] = "Bundle Loaded";
19
- SpiffyMetricsEventName$1["ChatLiveAgentBtnClick"] = "Chat Live Agent Btn Click";
20
- SpiffyMetricsEventName$1["ChatFloatingButtonVisible"] = "Chat Floating Button Visible";
21
- SpiffyMetricsEventName$1["ChatComponentVisible"] = "Chat Component Visible";
22
- SpiffyMetricsEventName$1["ChatComponentExpanded"] = "Chat Component Expanded";
23
- SpiffyMetricsEventName$1["ChatComponentCollapsed"] = "Chat Component Collapsed";
24
- SpiffyMetricsEventName$1["ChatUserMessageInput"] = "Chat User Message Input";
25
- SpiffyMetricsEventName$1["ChatSuggestionClicked"] = "Chat Suggestion Clicked";
26
- SpiffyMetricsEventName$1["ChatAssistantResponse"] = "Chat Assistant Response";
27
- SpiffyMetricsEventName$1["ProductCardClicked"] = "Product Card Clicked";
28
- SpiffyMetricsEventName$1["ProductReviewCardClicked"] = "Product Review Card Clicked";
29
- SpiffyMetricsEventName$1["AddToCartClicked"] = "Add to Cart Clicked";
30
- SpiffyMetricsEventName$1["PromptCardClicked"] = "Prompt Card Clicked";
31
- SpiffyMetricsEventName$1["SupportedEvent"] = "Supported Event";
32
- SpiffyMetricsEventName$1["SearchBackToResponseClicked"] = "Search Back to Response Clicked";
33
- SpiffyMetricsEventName$1["PerformanceMetrics"] = "Performance Metrics";
34
- SpiffyMetricsEventName$1["SearchBarClicked"] = "Search Bar Clicked";
35
- SpiffyMetricsEventName$1["OrderLookupStarted"] = "Order Lookup Started";
36
- SpiffyMetricsEventName$1["OrderLookupFormSubmitted"] = "Order Lookup Form Submitted";
37
- SpiffyMetricsEventName$1["SearchComponentVisible"] = "Search Component Visible";
38
- SpiffyMetricsEventName$1["SearchZeroStateSuggestionClicked"] = "Search Zero State Suggestion Clicked";
39
- SpiffyMetricsEventName$1["SearchInputStarted"] = "Search Input Started";
40
- SpiffyMetricsEventName$1["SearchQuerySubmitted"] = "Search Query Submitted";
41
- SpiffyMetricsEventName$1["SearchResultsViewed"] = "Search Results Viewed";
42
- SpiffyMetricsEventName$1["SearchTimeToFirstClick"] = "Search Time to First Click";
43
- SpiffyMetricsEventName$1["SearchZeroResultsRate"] = "Search Zero Results Rate";
44
- SpiffyMetricsEventName$1["SearchFilterClicked"] = "Search Filter Clicked";
45
- SpiffyMetricsEventName$1["SearchSortClicked"] = "Search Sort Clicked";
46
- return SpiffyMetricsEventName$1;
47
- }({});
48
- const AmplitudeContext = createContext(null);
49
- const AmplitudeProvider = ({ children }) => {
50
- const userId = useAtomValue(userIdAtom);
51
- const amplitudeApiKey = useAtomValue(amplitudeApiKeyAtom);
52
- const dataResidency = useAtomValue(dataResidencyAtom);
53
- const orgGaConfig = useAtomValue(orgAnalyticsGoogleAnalyticsConfigAtom);
54
- const env = useAtomValue(envAtom);
55
- const contextSource = useAtomValue(contextSourceAtom);
56
- useAtomValue(identifyingPrefixAtom);
57
- const { getItem } = useLocalStorage();
58
- const { publicKey, featureOverrides, variantUrlOverride, variantInfoOverride, show, orgShortName, featureGates } = useEnviveConfig();
59
- const { featureFlagService } = useFeatureFlagService();
60
- const [amplitudeClient, setAmplitudeClient] = React.useState(void 0);
61
- const [internalEventTrackingEnrichment, setInternalEventTrackingEnrichment] = React.useState(void 0);
62
- const [supplementalDefaultProps, setSupplementalDefaultProps] = React.useState({});
63
- const isReady = Boolean(userId && featureFlagService && amplitudeApiKey);
64
- const getDefaultTrackingProps = useCallback(() => {
65
- const gatesProps = featureGates ? featureGates.reduce((acc, curr) => {
66
- if (curr.name && curr.value != null) return {
67
- ...acc,
68
- [`feature_gate.${curr.name}`]: curr.value
69
- };
70
- return acc;
71
- }, {}) : {};
72
- const experimentProps = {};
73
- return {
74
- ...gatesProps,
75
- ...experimentProps,
76
- ...supplementalDefaultProps,
77
- app_id: "commerce-chat-react-component",
78
- chat_id: getItem(LocalStorageKeys.ChatId),
79
- env: env || "unknown",
80
- app_source: contextSource,
81
- "org.short_name": orgShortName,
82
- "user.id": userId,
83
- "cdp.user_id": null,
84
- "cdp.provider": null,
85
- "event.source": "web-browser",
86
- "event.type": "user-activity",
87
- "event.id": null,
88
- "event.channel": "web",
89
- "event.timestamp": null
90
- };
91
- }, [
92
- featureGates,
93
- supplementalDefaultProps,
94
- env,
95
- contextSource,
96
- orgShortName,
97
- userId
98
- ]);
99
- const eventPropsToPrefixedEventProps = useCallback((eventName, eventProps) => {
100
- const prefix = eventName.toLowerCase().replace(/\s+/g, "_");
101
- return Object.entries(eventProps).reduce((acc, [key, value$1]) => {
102
- acc[`${prefix}.${key}`] = value$1;
103
- return acc;
104
- }, {});
105
- }, []);
106
- const amplitudeSessionReplayInit = useCallback(() => {
107
- const isEnabled = Boolean(orgShortName === OrgShortName.UniqueVintage && featureFlagService?.isClientSessionEnabled() && featureFlagService?.isFeatureGateEnabled(FeatureGates.IsNewFeatureEnabled));
108
- const sampleRate = 1;
109
- try {
110
- logger_default.logDebug(`[spiffy-ai] amplitude session-replay initializing isEnabled=${isEnabled} sampleRate=${sampleRate}`);
111
- if (!isEnabled) return isEnabled;
112
- return isEnabled;
113
- } catch (e) {
114
- logger_default.logError("[spiffy-ai] Error initializing amplitude session-replay", e);
115
- return false;
116
- }
117
- }, [orgShortName, featureFlagService]);
118
- const getEventTrackingEnrichment = useCallback(() => {
119
- if (internalEventTrackingEnrichment !== void 0) return internalEventTrackingEnrichment;
120
- const enrichment = {
121
- name: "page-view-tracking-enrichment",
122
- type: "enrichment",
123
- setup: async () => void 0,
124
- execute: async (event) => {
125
- let enrichedEvent;
126
- if (["[Amplitude] Page Viewed", `[Spiffy] ${SpiffyMetricsEventName.BundleLoaded}`].includes(event.event_type)) {
127
- const globalProperties = {};
128
- if (publicKey) globalProperties["globalProperties.publicKey"] = publicKey;
129
- if (featureOverrides) Object.entries(featureOverrides).forEach(([key, value$1]) => {
130
- globalProperties[`globalProperties.featureOverrides.${key}`] = String(value$1);
131
- });
132
- if (variantUrlOverride) globalProperties["globalProperties.variantUrlOverride"] = variantUrlOverride;
133
- if (variantInfoOverride) globalProperties["globalProperties.variantInfoOverride"] = JSON.stringify(variantInfoOverride);
134
- if (show != null) globalProperties["globalProperties.show"] = String(show);
135
- const enabledFeatures = featureFlagService.getFeatureFlags();
136
- const enabledFeaturesProperties = Object.entries(enabledFeatures).reduce((acc, [key, value$1]) => ({
137
- ...acc,
138
- [`enabledFeatures.${key}`]: `${value$1}`
139
- }), {});
140
- const timingProperties = { "timing.enriched_at_ms": window.performance?.now() };
141
- enrichedEvent = {
142
- ...event,
143
- event_properties: {
144
- ...event.event_properties,
145
- ...getDefaultTrackingProps(),
146
- ...globalProperties,
147
- ...enabledFeaturesProperties,
148
- ...timingProperties
149
- }
150
- };
151
- } else enrichedEvent = event;
152
- EventsDispatcher.dispatch(SpiffyEvent.AMPLITUDE_EVENT, enrichedEvent);
153
- return enrichedEvent;
154
- }
155
- };
156
- setInternalEventTrackingEnrichment(enrichment);
157
- return enrichment;
158
- }, [
159
- internalEventTrackingEnrichment,
160
- getDefaultTrackingProps,
161
- featureFlagService,
162
- publicKey,
163
- featureOverrides,
164
- variantUrlOverride,
165
- variantInfoOverride,
166
- show
167
- ]);
168
- useEffect(() => {
169
- if (isReady && !amplitudeClient) {
170
- const currentAmplitudeInstance = createInstance();
171
- const isSessionsEnabled = amplitudeSessionReplayInit();
172
- currentAmplitudeInstance.add(getEventTrackingEnrichment());
173
- currentAmplitudeInstance.init(amplitudeApiKey, userId, {
174
- serverZone: dataResidency,
175
- trackingOptions: { ipAddress: true },
176
- autocapture: {
177
- attribution: true,
178
- pageViews: { trackHistoryChanges: "pathOnly" },
179
- sessions: isSessionsEnabled,
180
- formInteractions: false,
181
- fileDownloads: false
182
- }
183
- });
184
- setAmplitudeClient(currentAmplitudeInstance);
185
- }
186
- }, [
187
- isReady,
188
- amplitudeClient,
189
- amplitudeApiKey,
190
- userId,
191
- dataResidency,
192
- amplitudeSessionReplayInit,
193
- getEventTrackingEnrichment
194
- ]);
195
- const trackEvent = useCallback(async ({ eventName, eventProps, eventGroups, alsoSendToGoogleAnalytics = false }) => {
196
- logger_default.logDebug("Submitting event", eventName);
197
- try {
198
- const decoratedEventName = `[Spiffy] ${eventName}`;
199
- if (!amplitudeClient) {
200
- logger_default.logWarn("amplitude client undefined", void 0, { event_name: decoratedEventName });
201
- return;
202
- }
203
- const eventData = JSON.stringify({
204
- eventName,
205
- eventProps,
206
- created_at: (/* @__PURE__ */ new Date()).toISOString()
207
- });
208
- const data = new TextEncoder().encode(eventData);
209
- const hashBuffer = await crypto.subtle.digest("SHA-256", data);
210
- const currentInsertId = Array.from(new Uint8Array(hashBuffer)).map((b) => b.toString(16).padStart(2, "0")).join("");
211
- logger_default.logDebug(`amplitude tracking ${decoratedEventName}`, null, {
212
- event_name: decoratedEventName,
213
- props: eventProps
214
- });
215
- amplitudeClient.track(decoratedEventName, {
216
- ...getDefaultTrackingProps(),
217
- ...eventProps,
218
- ...eventProps ? eventPropsToPrefixedEventProps(eventName, eventProps) : {}
219
- }, {
220
- ...eventGroups,
221
- insert_id: currentInsertId
222
- });
223
- if (alsoSendToGoogleAnalytics && orgGaConfig) {
224
- logger_default.logDebug("[spiffy-ai] GA tracking", decoratedEventName);
225
- if (window.dataLayer) window.dataLayer.push({
226
- event: decoratedEventName,
227
- eventProps
228
- });
229
- }
230
- } catch (err) {
231
- logger_default.logError("[spiffy-ai] Error tracking event", err, {
232
- eventName,
233
- eventProps
234
- });
235
- }
236
- }, [
237
- amplitudeClient,
238
- getDefaultTrackingProps,
239
- eventPropsToPrefixedEventProps,
240
- orgGaConfig
241
- ]);
242
- const value = useMemo(() => ({
243
- trackEvent,
244
- isReady,
245
- setSupplementalDefaultProps: (props) => setSupplementalDefaultProps(props)
246
- }), [
247
- trackEvent,
248
- isReady,
249
- setSupplementalDefaultProps
250
- ]);
251
- if (!isReady) {
252
- console.log("AmplitudeProvider is not ready", isReady, userId, featureFlagService, amplitudeApiKey);
253
- return null;
254
- }
255
- return /* @__PURE__ */ jsx(AmplitudeContext.Provider, {
256
- value,
257
- children
258
- });
259
- };
260
- const useAmplitude = () => {
261
- const context = useContext(AmplitudeContext);
262
- if (!context) throw new Error("useAmplitude must be used within AmplitudeProvider");
263
- return context;
264
- };
265
-
266
- //#endregion
267
- export { AmplitudeProvider, SpiffyMetricsEventName, useAmplitude };
268
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC1ENThXWTFhUy5qcyIsIm5hbWVzIjpbIkFtcGxpdHVkZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iLCJ2YWx1ZSIsImVucmljaG1lbnQ6IEVucmljaG1lbnRQbHVnaW4iLCJlbnJpY2hlZEV2ZW50OiBFdmVudCIsImdsb2JhbFByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4iLCJjdXJyZW50QW1wbGl0dWRlSW5zdGFuY2U6IEJyb3dzZXJDbGllbnQiXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ29udGV4dCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZU1lbW8sXG4gIHVzZUVmZmVjdCxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUgfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IGNyZWF0ZUluc3RhbmNlIH0gZnJvbSBcIkBhbXBsaXR1ZGUvYW5hbHl0aWNzLWJyb3dzZXJcIjtcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlc1wiO1xuaW1wb3J0IHsgT3JnU2hvcnROYW1lIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IEV2ZW50c0Rpc3BhdGNoZXIsIFNwaWZmeUV2ZW50IH0gZnJvbSBcInNyYy9ldmVudHNcIjtcbmltcG9ydCB7XG4gIGFtcGxpdHVkZUFwaUtleUF0b20sXG4gIGNvbnRleHRTb3VyY2VBdG9tLFxuICBkYXRhUmVzaWRlbmN5QXRvbSxcbiAgaWRlbnRpZnlpbmdQcmVmaXhBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcbmltcG9ydCB7XG4gIExvY2FsU3RvcmFnZUtleXMsXG4gIHVzZUxvY2FsU3RvcmFnZSxcbn0gZnJvbSBcInNyYy9jb250ZXh0cy9sb2NhbFN0b3JhZ2VDb250ZXh0XCI7XG5pbXBvcnQgeyBvcmdBbmFseXRpY3NHb29nbGVBbmFseXRpY3NDb25maWdBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9vcmcvb3JnQW5hbHl0aWNzQ29uZmlnXCI7XG5pbXBvcnQgeyB1c2VySWRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hcHBcIjtcbmltcG9ydCB7IGVudkF0b20gfSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcbmltcG9ydCBMb2dnZXIgZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlclwiO1xuaW1wb3J0IHR5cGUge1xuICBCcm93c2VyQ2xpZW50LFxuICBFbnJpY2htZW50UGx1Z2luLFxuICBFdmVudCxcbiAgU2VydmVyWm9uZVR5cGUsXG59IGZyb20gXCJAYW1wbGl0dWRlL2FuYWx5dGljcy10eXBlc1wiO1xuaW1wb3J0IHsgdXNlRW52aXZlQ29uZmlnIH0gZnJvbSBcInNyYy9jb250ZXh0cy9lbnZpdmVDb25maWdDb250ZXh0L2Vudml2ZUNvbmZpZ0NvbnRleHRcIjtcbmltcG9ydCB7XG4gIHVzZUZlYXR1cmVGbGFnU2VydmljZSxcbn0gZnJvbSBcInNyYy9jb250ZXh0cy9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0L2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHRcIjtcblxuZXhwb3J0IGVudW0gU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB7XG4gIEJ1bmRsZUxvYWRlZCA9IFwiQnVuZGxlIExvYWRlZFwiLFxuICBDaGF0TGl2ZUFnZW50QnRuQ2xpY2sgPSBcIkNoYXQgTGl2ZSBBZ2VudCBCdG4gQ2xpY2tcIixcbiAgQ2hhdEZsb2F0aW5nQnV0dG9uVmlzaWJsZSA9IFwiQ2hhdCBGbG9hdGluZyBCdXR0b24gVmlzaWJsZVwiLFxuICBDaGF0Q29tcG9uZW50VmlzaWJsZSA9IFwiQ2hhdCBDb21wb25lbnQgVmlzaWJsZVwiLFxuICBDaGF0Q29tcG9uZW50RXhwYW5kZWQgPSBcIkNoYXQgQ29tcG9uZW50IEV4cGFuZGVkXCIsXG4gIENoYXRDb21wb25lbnRDb2xsYXBzZWQgPSBcIkNoYXQgQ29tcG9uZW50IENvbGxhcHNlZFwiLFxuICBDaGF0VXNlck1lc3NhZ2VJbnB1dCA9IFwiQ2hhdCBVc2VyIE1lc3NhZ2UgSW5wdXRcIixcbiAgQ2hhdFN1Z2dlc3Rpb25DbGlja2VkID0gXCJDaGF0IFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLFxuICBDaGF0QXNzaXN0YW50UmVzcG9uc2UgPSBcIkNoYXQgQXNzaXN0YW50IFJlc3BvbnNlXCIsXG4gIFByb2R1Y3RDYXJkQ2xpY2tlZCA9IFwiUHJvZHVjdCBDYXJkIENsaWNrZWRcIixcbiAgUHJvZHVjdFJldmlld0NhcmRDbGlja2VkID0gXCJQcm9kdWN0IFJldmlldyBDYXJkIENsaWNrZWRcIixcbiAgQWRkVG9DYXJ0Q2xpY2tlZCA9IFwiQWRkIHRvIENhcnQgQ2xpY2tlZFwiLFxuICBQcm9tcHRDYXJkQ2xpY2tlZCA9IFwiUHJvbXB0IENhcmQgQ2xpY2tlZFwiLFxuICBTdXBwb3J0ZWRFdmVudCA9IFwiU3VwcG9ydGVkIEV2ZW50XCIsXG4gIFNlYXJjaEJhY2tUb1Jlc3BvbnNlQ2xpY2tlZCA9IFwiU2VhcmNoIEJhY2sgdG8gUmVzcG9uc2UgQ2xpY2tlZFwiLFxuICBQZXJmb3JtYW5jZU1ldHJpY3MgPSBcIlBlcmZvcm1hbmNlIE1ldHJpY3NcIixcbiAgU2VhcmNoQmFyQ2xpY2tlZCA9IFwiU2VhcmNoIEJhciBDbGlja2VkXCIsXG4gIE9yZGVyTG9va3VwU3RhcnRlZCA9IFwiT3JkZXIgTG9va3VwIFN0YXJ0ZWRcIixcbiAgT3JkZXJMb29rdXBGb3JtU3VibWl0dGVkID0gXCJPcmRlciBMb29rdXAgRm9ybSBTdWJtaXR0ZWRcIixcbiAgU2VhcmNoQ29tcG9uZW50VmlzaWJsZSA9IFwiU2VhcmNoIENvbXBvbmVudCBWaXNpYmxlXCIsXG4gIFNlYXJjaFplcm9TdGF0ZVN1Z2dlc3Rpb25DbGlja2VkID0gXCJTZWFyY2ggWmVybyBTdGF0ZSBTdWdnZXN0aW9uIENsaWNrZWRcIiwgLy8gVGhpcyBpcyB0aGUgc2Nyb2xsaW5nIGxpc3Qgb2Ygc3VnZ2VzdGlvbiBidXR0b25zIGluIGdsb2JhbCBzZWFyY2hcbiAgU2VhcmNoSW5wdXRTdGFydGVkID0gXCJTZWFyY2ggSW5wdXQgU3RhcnRlZFwiLFxuICBTZWFyY2hRdWVyeVN1Ym1pdHRlZCA9IFwiU2VhcmNoIFF1ZXJ5IFN1Ym1pdHRlZFwiLFxuICAvLyBTZWFyY2hBdXRvY29tcGxldGVWaWV3ZWQgPSAnU2VhcmNoIEF1dG9jb21wbGV0ZSBWaWV3ZWQnLCAvLyBUT0RPOiBhZGQgdGhpcyB3aGVuIGF1dG9jb21wbGV0ZSBpcyBhZGRlZFxuICAvLyBTZWFyY2hBdXRvY29tcGxldGVDbGlja2VkID0gJ1NlYXJjaCBBdXRvY29tcGxldGUgQ2xpY2tlZCcsIC8vIFRPRE86IGFkZCB0aGlzIHdoZW4gYXV0b2NvbXBsZXRlIGlzIGFkZGVkXG4gIFNlYXJjaFJlc3VsdHNWaWV3ZWQgPSBcIlNlYXJjaCBSZXN1bHRzIFZpZXdlZFwiLFxuICBTZWFyY2hUaW1lVG9GaXJzdENsaWNrID0gXCJTZWFyY2ggVGltZSB0byBGaXJzdCBDbGlja1wiLFxuICBTZWFyY2haZXJvUmVzdWx0c1JhdGUgPSBcIlNlYXJjaCBaZXJvIFJlc3VsdHMgUmF0ZVwiLFxuICBTZWFyY2hGaWx0ZXJDbGlja2VkID0gXCJTZWFyY2ggRmlsdGVyIENsaWNrZWRcIixcbiAgU2VhcmNoU29ydENsaWNrZWQgPSBcIlNlYXJjaCBTb3J0IENsaWNrZWRcIixcbn1cblxuaW50ZXJmYWNlIFRyYWNrRXZlbnRQYXJhbXMge1xuICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZXZlbnRHcm91cHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBBbXBsaXR1ZGVDb250ZXh0VHlwZSB7XG4gIHRyYWNrRXZlbnQ6IChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD47XG4gIGlzUmVhZHk6IGJvb2xlYW47XG4gIHNldFN1cHBsZW1lbnRhbERlZmF1bHRQcm9wczogKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gdm9pZDtcbn1cblxuY29uc3QgQW1wbGl0dWRlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8QW1wbGl0dWRlQ29udGV4dFR5cGUgfCBudWxsPihudWxsKTtcblxuZXhwb3J0IGNvbnN0IEFtcGxpdHVkZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoe1xuICBjaGlsZHJlbixcbn0pID0+IHtcbiAgY29uc3QgdXNlcklkID0gdXNlQXRvbVZhbHVlKHVzZXJJZEF0b20pO1xuICBjb25zdCBhbXBsaXR1ZGVBcGlLZXkgPSB1c2VBdG9tVmFsdWUoYW1wbGl0dWRlQXBpS2V5QXRvbSk7XG4gIGNvbnN0IGRhdGFSZXNpZGVuY3kgPSB1c2VBdG9tVmFsdWUoZGF0YVJlc2lkZW5jeUF0b20pO1xuICBjb25zdCBvcmdHYUNvbmZpZyA9IHVzZUF0b21WYWx1ZShvcmdBbmFseXRpY3NHb29nbGVBbmFseXRpY3NDb25maWdBdG9tKTtcbiAgY29uc3QgZW52ID0gdXNlQXRvbVZhbHVlKGVudkF0b20pO1xuICBjb25zdCBjb250ZXh0U291cmNlID0gdXNlQXRvbVZhbHVlKGNvbnRleHRTb3VyY2VBdG9tKTtcbiAgY29uc3QgaWRlbnRpZnlpbmdQcmVmaXggPSB1c2VBdG9tVmFsdWUoaWRlbnRpZnlpbmdQcmVmaXhBdG9tKTtcbiAgY29uc3QgeyBnZXRJdGVtIH0gPSB1c2VMb2NhbFN0b3JhZ2UoKTtcbiAgY29uc3Qge1xuICAgIHB1YmxpY0tleSxcbiAgICBmZWF0dXJlT3ZlcnJpZGVzLFxuICAgIHZhcmlhbnRVcmxPdmVycmlkZSxcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlLFxuICAgIHNob3csXG4gICAgb3JnU2hvcnROYW1lLFxuICAgIGZlYXR1cmVHYXRlcyxcbiAgfSA9IHVzZUVudml2ZUNvbmZpZygpO1xuXG4gIGNvbnN0IHsgZmVhdHVyZUZsYWdTZXJ2aWNlIH0gPSB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UoKTtcblxuICBjb25zdCBbYW1wbGl0dWRlQ2xpZW50LCBzZXRBbXBsaXR1ZGVDbGllbnRdID0gUmVhY3QudXNlU3RhdGU8XG4gICAgQnJvd3NlckNsaWVudCB8IHVuZGVmaW5lZFxuICA+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFtpbnRlcm5hbEV2ZW50VHJhY2tpbmdFbnJpY2htZW50LCBzZXRJbnRlcm5hbEV2ZW50VHJhY2tpbmdFbnJpY2htZW50XSA9XG4gICAgUmVhY3QudXNlU3RhdGU8RW5yaWNobWVudFBsdWdpbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgY29uc3QgW3N1cHBsZW1lbnRhbERlZmF1bHRQcm9wcywgc2V0U3VwcGxlbWVudGFsRGVmYXVsdFByb3BzXSA9XG4gICAgUmVhY3QudXNlU3RhdGU8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHt9KTtcblxuICBjb25zdCBpc1JlYWR5ID0gQm9vbGVhbihcbiAgICB1c2VySWQgJiYgZmVhdHVyZUZsYWdTZXJ2aWNlICYmIGFtcGxpdHVkZUFwaUtleVxuICApO1xuXG4gIGNvbnN0IGdldERlZmF1bHRUcmFja2luZ1Byb3BzID0gdXNlQ2FsbGJhY2soKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgICBjb25zdCBnYXRlc1Byb3BzID0gZmVhdHVyZUdhdGVzXG4gICAgICA/IGZlYXR1cmVHYXRlcy5yZWR1Y2U8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+KChhY2MsIGN1cnIpID0+IHtcbiAgICAgICAgICBpZiAoY3Vyci5uYW1lICYmIGN1cnIudmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbYGZlYXR1cmVfZ2F0ZS4ke2N1cnIubmFtZX1gXTogY3Vyci52YWx1ZSB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCB7fSlcbiAgICAgIDoge307XG4gICAgY29uc3QgZXhwZXJpbWVudFByb3BzID0ge307IC8vIE5vIGRpcmVjdCBlcXVpdmFsZW50IGZvciBleHBlcmltZW50cyBpbiBFbnZpdmVDb25maWcgeWV0XG5cbiAgICBjb25zdCBvcmdMZXZlbEFtcGxpdHVkZVRyYWNraW5nUHJvcHMgPSB7XG4gICAgICAuLi5nYXRlc1Byb3BzLFxuICAgICAgLi4uZXhwZXJpbWVudFByb3BzLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ub3JnTGV2ZWxBbXBsaXR1ZGVUcmFja2luZ1Byb3BzLFxuICAgICAgLi4uc3VwcGxlbWVudGFsRGVmYXVsdFByb3BzLFxuICAgICAgLy8gVE9ETzogb3JnX2lkIGlzIG5vdCBkaXJlY3RseSBhdmFpbGFibGUgaW4gRW52aXZlQ29uZmlnLiBOZWVkIHRvIGZpbmQgYSBuZXcgc291cmNlIG9yIGRlcml2ZSBpdC5cbiAgICAgIC8vIG9yZ19pZDogb3JnQ29uZmlnPy5vcmc/Lm9yZz8uaWQsXG4gICAgICBhcHBfaWQ6IFwiY29tbWVyY2UtY2hhdC1yZWFjdC1jb21wb25lbnRcIixcbiAgICAgIGNoYXRfaWQ6IGdldEl0ZW0oTG9jYWxTdG9yYWdlS2V5cy5DaGF0SWQpLFxuICAgICAgZW52OiBlbnYgfHwgXCJ1bmtub3duXCIsXG4gICAgICBhcHBfc291cmNlOiBjb250ZXh0U291cmNlLFxuICAgICAgXCJvcmcuc2hvcnRfbmFtZVwiOiBvcmdTaG9ydE5hbWUsXG4gICAgICBcInVzZXIuaWRcIjogdXNlcklkLFxuICAgICAgXCJjZHAudXNlcl9pZFwiOiBudWxsLFxuICAgICAgXCJjZHAucHJvdmlkZXJcIjogbnVsbCxcbiAgICAgIFwiZXZlbnQuc291cmNlXCI6IFwid2ViLWJyb3dzZXJcIixcbiAgICAgIFwiZXZlbnQudHlwZVwiOiBcInVzZXItYWN0aXZpdHlcIixcbiAgICAgIFwiZXZlbnQuaWRcIjogbnVsbCxcbiAgICAgIFwiZXZlbnQuY2hhbm5lbFwiOiBcIndlYlwiLFxuICAgICAgXCJldmVudC50aW1lc3RhbXBcIjogbnVsbCxcbiAgICB9O1xuICB9LCBbXG4gICAgZmVhdHVyZUdhdGVzLFxuICAgIHN1cHBsZW1lbnRhbERlZmF1bHRQcm9wcyxcbiAgICBlbnYsXG4gICAgY29udGV4dFNvdXJjZSxcbiAgICBvcmdTaG9ydE5hbWUsXG4gICAgdXNlcklkLFxuICBdKTtcblxuICBjb25zdCBldmVudFByb3BzVG9QcmVmaXhlZEV2ZW50UHJvcHMgPSB1c2VDYWxsYmFjayhcbiAgICAoXG4gICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG4gICAgICBldmVudFByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGV2ZW50TmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccysvZywgXCJfXCIpO1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGV2ZW50UHJvcHMpLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgYWNjW2Ake3ByZWZpeH0uJHtrZXl9YF0gPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcbiAgICB9LFxuICAgIFtdXG4gICk7XG5cbiAgY29uc3QgYW1wbGl0dWRlU2Vzc2lvblJlcGxheUluaXQgPSB1c2VDYWxsYmFjaygoKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgaXNFbmFibGVkID0gQm9vbGVhbihcbiAgICAgIG9yZ1Nob3J0TmFtZSA9PT0gT3JnU2hvcnROYW1lLlVuaXF1ZVZpbnRhZ2UgJiZcbiAgICAgICAgZmVhdHVyZUZsYWdTZXJ2aWNlPy5pc0NsaWVudFNlc3Npb25FbmFibGVkKCkgJiZcbiAgICAgICAgZmVhdHVyZUZsYWdTZXJ2aWNlPy5pc0ZlYXR1cmVHYXRlRW5hYmxlZChcbiAgICAgICAgICBGZWF0dXJlR2F0ZXMuSXNOZXdGZWF0dXJlRW5hYmxlZFxuICAgICAgICApXG4gICAgKTtcbiAgICBjb25zdCBzYW1wbGVSYXRlID0gMTtcblxuICAgIHRyeSB7XG4gICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgIGBbc3BpZmZ5LWFpXSBhbXBsaXR1ZGUgc2Vzc2lvbi1yZXBsYXkgaW5pdGlhbGl6aW5nIGlzRW5hYmxlZD0ke2lzRW5hYmxlZH0gc2FtcGxlUmF0ZT0ke3NhbXBsZVJhdGV9YFxuICAgICAgKTtcblxuICAgICAgaWYgKCFpc0VuYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuIGlzRW5hYmxlZDtcbiAgICAgIH1cblxuICAgICAgLy8gYW1wbGl0dWRlSW5zdGFuY2UuYWRkKHNlc3Npb25SZXBsYXlQbHVnaW4oeyBzYW1wbGVSYXRlIH0pKTtcblxuICAgICAgcmV0dXJuIGlzRW5hYmxlZDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBMb2dnZXIubG9nRXJyb3IoXG4gICAgICAgIFwiW3NwaWZmeS1haV0gRXJyb3IgaW5pdGlhbGl6aW5nIGFtcGxpdHVkZSBzZXNzaW9uLXJlcGxheVwiLFxuICAgICAgICBlXG4gICAgICApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSwgW29yZ1Nob3J0TmFtZSwgZmVhdHVyZUZsYWdTZXJ2aWNlXSk7XG5cbiAgY29uc3QgZ2V0RXZlbnRUcmFja2luZ0VucmljaG1lbnQgPSB1c2VDYWxsYmFjaygoKTogRW5yaWNobWVudFBsdWdpbiA9PiB7XG4gICAgaWYgKGludGVybmFsRXZlbnRUcmFja2luZ0VucmljaG1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGludGVybmFsRXZlbnRUcmFja2luZ0VucmljaG1lbnQ7XG4gICAgfVxuXG4gICAgY29uc3QgZW5yaWNobWVudDogRW5yaWNobWVudFBsdWdpbiA9IHtcbiAgICAgIG5hbWU6IFwicGFnZS12aWV3LXRyYWNraW5nLWVucmljaG1lbnRcIixcbiAgICAgIHR5cGU6IFwiZW5yaWNobWVudFwiLFxuICAgICAgc2V0dXA6IGFzeW5jICgpID0+IHVuZGVmaW5lZCxcbiAgICAgIGV4ZWN1dGU6IGFzeW5jIChldmVudDogRXZlbnQpOiBQcm9taXNlPEV2ZW50PiA9PiB7XG4gICAgICAgIGxldCBlbnJpY2hlZEV2ZW50OiBFdmVudDtcblxuICAgICAgICBjb25zdCBldmVudHNUb0VucmljaCA9IFtcbiAgICAgICAgICBcIltBbXBsaXR1ZGVdIFBhZ2UgVmlld2VkXCIsXG4gICAgICAgICAgYFtTcGlmZnldICR7U3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5CdW5kbGVMb2FkZWR9YCxcbiAgICAgICAgXTtcblxuICAgICAgICBpZiAoZXZlbnRzVG9FbnJpY2guaW5jbHVkZXMoZXZlbnQuZXZlbnRfdHlwZSkpIHtcbiAgICAgICAgICBjb25zdCBnbG9iYWxQcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgICAgICAgICBpZiAocHVibGljS2V5KSB7XG4gICAgICAgICAgICBnbG9iYWxQcm9wZXJ0aWVzW1wiZ2xvYmFsUHJvcGVydGllcy5wdWJsaWNLZXlcIl0gPSBwdWJsaWNLZXk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChmZWF0dXJlT3ZlcnJpZGVzKSB7XG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhmZWF0dXJlT3ZlcnJpZGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgZ2xvYmFsUHJvcGVydGllc1tgZ2xvYmFsUHJvcGVydGllcy5mZWF0dXJlT3ZlcnJpZGVzLiR7a2V5fWBdID1cbiAgICAgICAgICAgICAgICBTdHJpbmcodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh2YXJpYW50VXJsT3ZlcnJpZGUpIHtcbiAgICAgICAgICAgIGdsb2JhbFByb3BlcnRpZXNbXCJnbG9iYWxQcm9wZXJ0aWVzLnZhcmlhbnRVcmxPdmVycmlkZVwiXSA9XG4gICAgICAgICAgICAgIHZhcmlhbnRVcmxPdmVycmlkZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhcmlhbnRJbmZvT3ZlcnJpZGUpIHtcbiAgICAgICAgICAgIGdsb2JhbFByb3BlcnRpZXNbXCJnbG9iYWxQcm9wZXJ0aWVzLnZhcmlhbnRJbmZvT3ZlcnJpZGVcIl0gPVxuICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh2YXJpYW50SW5mb092ZXJyaWRlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNob3cgIT0gbnVsbCkge1xuICAgICAgICAgICAgZ2xvYmFsUHJvcGVydGllc1tcImdsb2JhbFByb3BlcnRpZXMuc2hvd1wiXSA9IFN0cmluZyhzaG93KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBlbmFibGVkRmVhdHVyZXMgPSBmZWF0dXJlRmxhZ1NlcnZpY2UhLmdldEZlYXR1cmVGbGFncygpO1xuICAgICAgICAgIGNvbnN0IGVuYWJsZWRGZWF0dXJlc1Byb3BlcnRpZXMgPSBPYmplY3QuZW50cmllcyhcbiAgICAgICAgICAgIGVuYWJsZWRGZWF0dXJlc1xuICAgICAgICAgICkucmVkdWNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KFxuICAgICAgICAgICAgKGFjYywgW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICAgIFtgZW5hYmxlZEZlYXR1cmVzLiR7a2V5fWBdOiBgJHt2YWx1ZX1gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7fVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCB0aW1pbmdQcm9wZXJ0aWVzID0ge1xuICAgICAgICAgICAgXCJ0aW1pbmcuZW5yaWNoZWRfYXRfbXNcIjogd2luZG93LnBlcmZvcm1hbmNlPy5ub3coKSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgZW5yaWNoZWRFdmVudCA9IHtcbiAgICAgICAgICAgIC4uLmV2ZW50LFxuICAgICAgICAgICAgZXZlbnRfcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAuLi5ldmVudC5ldmVudF9wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAuLi5nZXREZWZhdWx0VHJhY2tpbmdQcm9wcygpLFxuICAgICAgICAgICAgICAuLi5nbG9iYWxQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAuLi5lbmFibGVkRmVhdHVyZXNQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAuLi50aW1pbmdQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVucmljaGVkRXZlbnQgPSBldmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEV2ZW50c0Rpc3BhdGNoZXIuZGlzcGF0Y2goU3BpZmZ5RXZlbnQuQU1QTElUVURFX0VWRU5ULCBlbnJpY2hlZEV2ZW50KTtcblxuICAgICAgICByZXR1cm4gZW5yaWNoZWRFdmVudDtcbiAgICAgIH0sXG4gICAgfTtcbiAgICBzZXRJbnRlcm5hbEV2ZW50VHJhY2tpbmdFbnJpY2htZW50KGVucmljaG1lbnQpO1xuICAgIHJldHVybiBlbnJpY2htZW50O1xuICB9LCBbXG4gICAgaW50ZXJuYWxFdmVudFRyYWNraW5nRW5yaWNobWVudCxcbiAgICBnZXREZWZhdWx0VHJhY2tpbmdQcm9wcyxcbiAgICBmZWF0dXJlRmxhZ1NlcnZpY2UsXG4gICAgcHVibGljS2V5LFxuICAgIGZlYXR1cmVPdmVycmlkZXMsXG4gICAgdmFyaWFudFVybE92ZXJyaWRlLFxuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGUsXG4gICAgc2hvdyxcbiAgXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNSZWFkeSAmJiAhYW1wbGl0dWRlQ2xpZW50KSB7XG4gICAgICBjb25zdCBjdXJyZW50QW1wbGl0dWRlSW5zdGFuY2U6IEJyb3dzZXJDbGllbnQgPSBjcmVhdGVJbnN0YW5jZSgpO1xuICAgICAgY29uc3QgaXNTZXNzaW9uc0VuYWJsZWQgPSBhbXBsaXR1ZGVTZXNzaW9uUmVwbGF5SW5pdCgpO1xuICAgICAgY3VycmVudEFtcGxpdHVkZUluc3RhbmNlLmFkZChnZXRFdmVudFRyYWNraW5nRW5yaWNobWVudCgpKTtcbiAgICAgIGN1cnJlbnRBbXBsaXR1ZGVJbnN0YW5jZS5pbml0KGFtcGxpdHVkZUFwaUtleSEsIHVzZXJJZCEsIHtcbiAgICAgICAgc2VydmVyWm9uZTogZGF0YVJlc2lkZW5jeSBhcyBTZXJ2ZXJab25lVHlwZSxcbiAgICAgICAgdHJhY2tpbmdPcHRpb25zOiB7XG4gICAgICAgICAgaXBBZGRyZXNzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBhdXRvY2FwdHVyZToge1xuICAgICAgICAgIGF0dHJpYnV0aW9uOiB0cnVlLFxuICAgICAgICAgIHBhZ2VWaWV3czoge1xuICAgICAgICAgICAgdHJhY2tIaXN0b3J5Q2hhbmdlczogXCJwYXRoT25seVwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2Vzc2lvbnM6IGlzU2Vzc2lvbnNFbmFibGVkLFxuICAgICAgICAgIGZvcm1JbnRlcmFjdGlvbnM6IGZhbHNlLFxuICAgICAgICAgIGZpbGVEb3dubG9hZHM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBzZXRBbXBsaXR1ZGVDbGllbnQoY3VycmVudEFtcGxpdHVkZUluc3RhbmNlKTtcbiAgICB9XG4gIH0sIFtcbiAgICBpc1JlYWR5LFxuICAgIGFtcGxpdHVkZUNsaWVudCxcbiAgICBhbXBsaXR1ZGVBcGlLZXksXG4gICAgdXNlcklkLFxuICAgIGRhdGFSZXNpZGVuY3ksXG4gICAgYW1wbGl0dWRlU2Vzc2lvblJlcGxheUluaXQsXG4gICAgZ2V0RXZlbnRUcmFja2luZ0VucmljaG1lbnQsXG4gIF0pO1xuXG4gIGNvbnN0IHRyYWNrRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoe1xuICAgICAgZXZlbnROYW1lLFxuICAgICAgZXZlbnRQcm9wcyxcbiAgICAgIGV2ZW50R3JvdXBzLFxuICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcyA9IGZhbHNlLFxuICAgIH06IFRyYWNrRXZlbnRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIExvZ2dlci5sb2dEZWJ1ZyhcIlN1Ym1pdHRpbmcgZXZlbnRcIiwgZXZlbnROYW1lKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRlY29yYXRlZEV2ZW50TmFtZSA9IGBbU3BpZmZ5XSAke2V2ZW50TmFtZX1gO1xuXG4gICAgICAgIGlmICghYW1wbGl0dWRlQ2xpZW50KSB7XG4gICAgICAgICAgTG9nZ2VyLmxvZ1dhcm4oXCJhbXBsaXR1ZGUgY2xpZW50IHVuZGVmaW5lZFwiLCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgIGV2ZW50X25hbWU6IGRlY29yYXRlZEV2ZW50TmFtZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBldmVudERhdGEgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgZXZlbnROYW1lLFxuICAgICAgICAgIGV2ZW50UHJvcHMsXG4gICAgICAgICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuICAgICAgICBjb25zdCBkYXRhID0gZW5jb2Rlci5lbmNvZGUoZXZlbnREYXRhKTtcbiAgICAgICAgIC8vIGNhbGN1bGF0ZSBhIGhhc2ggb2YgdGhlIGV2ZW50IHByb3BlcnRpZXMgdG8gdXNlIGFzIHRoZSBpbnNlcnRfaWQgc28gdGhhdCBkdXBsaWNhdGUgZXZlbnRzXG4gICAgICAgIC8vIGFyZSBhdXRvbWF0aWNhbGx5IGRyb3BwZWQgYnkgQW1wbGl0dWRlXG4gICAgICAgIGNvbnN0IGhhc2hCdWZmZXIgPSBhd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdChcIlNIQS0yNTZcIiwgZGF0YSk7XG4gICAgICAgIGNvbnN0IGhhc2hBcnJheSA9IEFycmF5LmZyb20obmV3IFVpbnQ4QXJyYXkoaGFzaEJ1ZmZlcikpO1xuICAgICAgICBjb25zdCBjdXJyZW50SW5zZXJ0SWQgPSBoYXNoQXJyYXlcbiAgICAgICAgICAubWFwKChiKSA9PiBiLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCBcIjBcIikpXG4gICAgICAgICAgLmpvaW4oXCJcIik7XG5cbiAgICAgICAgTG9nZ2VyLmxvZ0RlYnVnKGBhbXBsaXR1ZGUgdHJhY2tpbmcgJHtkZWNvcmF0ZWRFdmVudE5hbWV9YCwgbnVsbCwge1xuICAgICAgICAgIGV2ZW50X25hbWU6IGRlY29yYXRlZEV2ZW50TmFtZSxcbiAgICAgICAgICBwcm9wczogZXZlbnRQcm9wcyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYW1wbGl0dWRlQ2xpZW50LnRyYWNrKFxuICAgICAgICAgIGRlY29yYXRlZEV2ZW50TmFtZSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi5nZXREZWZhdWx0VHJhY2tpbmdQcm9wcygpLFxuICAgICAgICAgICAgLi4uZXZlbnRQcm9wcyxcbiAgICAgICAgICAgIC4uLihldmVudFByb3BzXG4gICAgICAgICAgICAgID8gZXZlbnRQcm9wc1RvUHJlZml4ZWRFdmVudFByb3BzKGV2ZW50TmFtZSwgZXZlbnRQcm9wcylcbiAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi5ldmVudEdyb3VwcyxcbiAgICAgICAgICAgIGluc2VydF9pZDogY3VycmVudEluc2VydElkLFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcyAmJiBvcmdHYUNvbmZpZykge1xuICAgICAgICAgIC8vIFRPRE86IEFkZCBpbiB3aW5kb3dEYXRhTGF5ZXJTZXJ2aWNlIG9yIGNvbnRleHQgYWx0ZXJuYXRpdmUgYW5kIGhvb2sgaXQgdXAgaGVyZVxuICAgICAgICAgIExvZ2dlci5sb2dEZWJ1ZyhcIltzcGlmZnktYWldIEdBIHRyYWNraW5nXCIsIGRlY29yYXRlZEV2ZW50TmFtZSk7XG4gICAgICAgICAgaWYgKHdpbmRvdy5kYXRhTGF5ZXIpIHtcbiAgICAgICAgICAgICh3aW5kb3cuZGF0YUxheWVyIGFzIGFueVtdKS5wdXNoKHtcbiAgICAgICAgICAgICAgZXZlbnQ6IGRlY29yYXRlZEV2ZW50TmFtZSxcbiAgICAgICAgICAgICAgZXZlbnRQcm9wczogZXZlbnRQcm9wcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIExvZ2dlci5sb2dFcnJvcihcIltzcGlmZnktYWldIEVycm9yIHRyYWNraW5nIGV2ZW50XCIsIGVyciwge1xuICAgICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgICBldmVudFByb3BzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIGFtcGxpdHVkZUNsaWVudCxcbiAgICAgIGdldERlZmF1bHRUcmFja2luZ1Byb3BzLFxuICAgICAgZXZlbnRQcm9wc1RvUHJlZml4ZWRFdmVudFByb3BzLFxuICAgICAgb3JnR2FDb25maWcsXG4gICAgXVxuICApO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgdHJhY2tFdmVudCxcbiAgICAgIGlzUmVhZHksXG4gICAgICBzZXRTdXBwbGVtZW50YWxEZWZhdWx0UHJvcHM6IChwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+XG4gICAgICAgIHNldFN1cHBsZW1lbnRhbERlZmF1bHRQcm9wcyhwcm9wcyksXG4gICAgfSksXG4gICAgW3RyYWNrRXZlbnQsIGlzUmVhZHksIHNldFN1cHBsZW1lbnRhbERlZmF1bHRQcm9wc11cbiAgKTtcblxuICBpZiAoIWlzUmVhZHkpIHtcbiAgICBjb25zb2xlLmxvZyhcIkFtcGxpdHVkZVByb3ZpZGVyIGlzIG5vdCByZWFkeVwiLCBpc1JlYWR5LCB1c2VySWQsIGZlYXR1cmVGbGFnU2VydmljZSwgYW1wbGl0dWRlQXBpS2V5KTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPEFtcGxpdHVkZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0FtcGxpdHVkZUNvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlQW1wbGl0dWRlID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChBbXBsaXR1ZGVDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidXNlQW1wbGl0dWRlIG11c3QgYmUgdXNlZCB3aXRoaW4gQW1wbGl0dWRlUHJvdmlkZXJcIik7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBcUNBLElBQVksNEVBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBZ0JGLE1BQU0sbUJBQW1CLGNBQTJDLEtBQUs7QUFFekUsTUFBYUEscUJBQThELEVBQ3pFLGVBQ0k7Q0FDSixNQUFNLFNBQVMsYUFBYSxXQUFXO0NBQ3ZDLE1BQU0sa0JBQWtCLGFBQWEsb0JBQW9CO0NBQ3pELE1BQU0sZ0JBQWdCLGFBQWEsa0JBQWtCO0NBQ3JELE1BQU0sY0FBYyxhQUFhLHNDQUFzQztDQUN2RSxNQUFNLE1BQU0sYUFBYSxRQUFRO0NBQ2pDLE1BQU0sZ0JBQWdCLGFBQWEsa0JBQWtCO0FBQzNCLGNBQWEsc0JBQXNCO0NBQzdELE1BQU0sRUFBRSxZQUFZLGlCQUFpQjtDQUNyQyxNQUFNLEVBQ0osV0FDQSxrQkFDQSxvQkFDQSxxQkFDQSxNQUNBLGNBQ0EsaUJBQ0UsaUJBQWlCO0NBRXJCLE1BQU0sRUFBRSx1QkFBdUIsdUJBQXVCO0NBRXRELE1BQU0sQ0FBQyxpQkFBaUIsc0JBQXNCLE1BQU0sU0FFbEQsT0FBVTtDQUNaLE1BQU0sQ0FBQyxpQ0FBaUMsc0NBQ3RDLE1BQU0sU0FBdUMsT0FBVTtDQUN6RCxNQUFNLENBQUMsMEJBQTBCLCtCQUMvQixNQUFNLFNBQWtDLEVBQUUsQ0FBQztDQUU3QyxNQUFNLFVBQVUsUUFDZCxVQUFVLHNCQUFzQixnQkFDakM7Q0FFRCxNQUFNLDBCQUEwQixrQkFBMkM7RUFDekUsTUFBTSxhQUFhLGVBQ2YsYUFBYSxRQUFpQyxLQUFLLFNBQVM7QUFDMUQsT0FBSSxLQUFLLFFBQVEsS0FBSyxTQUFTLEtBQzdCLFFBQU87SUFBRSxHQUFHO0tBQU0sZ0JBQWdCLEtBQUssU0FBUyxLQUFLO0lBQU87QUFFOUQsVUFBTztLQUNOLEVBQUUsQ0FBQyxHQUNOLEVBQUU7RUFDTixNQUFNLGtCQUFrQixFQUFFO0FBTzFCLFNBQU87R0FKTCxHQUFHO0dBQ0gsR0FBRztHQUtILEdBQUc7R0FHSCxRQUFRO0dBQ1IsU0FBUyxRQUFRLGlCQUFpQixPQUFPO0dBQ3pDLEtBQUssT0FBTztHQUNaLFlBQVk7R0FDWixrQkFBa0I7R0FDbEIsV0FBVztHQUNYLGVBQWU7R0FDZixnQkFBZ0I7R0FDaEIsZ0JBQWdCO0dBQ2hCLGNBQWM7R0FDZCxZQUFZO0dBQ1osaUJBQWlCO0dBQ2pCLG1CQUFtQjtHQUNwQjtJQUNBO0VBQ0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsQ0FBQztDQUVGLE1BQU0saUNBQWlDLGFBRW5DLFdBQ0EsZUFDNEI7RUFDNUIsTUFBTSxTQUFTLFVBQVUsYUFBYSxDQUFDLFFBQVEsUUFBUSxJQUFJO0FBQzNELFNBQU8sT0FBTyxRQUFRLFdBQVcsQ0FBQyxRQUFRLEtBQUssQ0FBQyxLQUFLQyxhQUFXO0FBQzlELE9BQUksR0FBRyxPQUFPLEdBQUcsU0FBU0E7QUFDMUIsVUFBTztLQUNOLEVBQUUsQ0FBNEI7SUFFbkMsRUFBRSxDQUNIO0NBRUQsTUFBTSw2QkFBNkIsa0JBQTJCO0VBQzVELE1BQU0sWUFBWSxRQUNoQixpQkFBaUIsYUFBYSxpQkFDNUIsb0JBQW9CLHdCQUF3QixJQUM1QyxvQkFBb0IscUJBQ2xCLGFBQWEsb0JBQ2QsQ0FDSjtFQUNELE1BQU0sYUFBYTtBQUVuQixNQUFJO0FBQ0Ysa0JBQU8sU0FDTCwrREFBK0QsVUFBVSxjQUFjLGFBQ3hGO0FBRUQsT0FBSSxDQUFDLFVBQ0gsUUFBTztBQUtULFVBQU87V0FDQSxHQUFHO0FBQ1Ysa0JBQU8sU0FDTCwyREFDQSxFQUNEO0FBQ0QsVUFBTzs7SUFFUixDQUFDLGNBQWMsbUJBQW1CLENBQUM7Q0FFdEMsTUFBTSw2QkFBNkIsa0JBQW9DO0FBQ3JFLE1BQUksb0NBQW9DLE9BQ3RDLFFBQU87RUFHVCxNQUFNQyxhQUErQjtHQUNuQyxNQUFNO0dBQ04sTUFBTTtHQUNOLE9BQU8sWUFBWTtHQUNuQixTQUFTLE9BQU8sVUFBaUM7SUFDL0MsSUFBSUM7QUFPSixRQUx1QixDQUNyQiwyQkFDQSxZQUFZLHVCQUF1QixlQUNwQyxDQUVrQixTQUFTLE1BQU0sV0FBVyxFQUFFO0tBQzdDLE1BQU1DLG1CQUEyQyxFQUFFO0FBRW5ELFNBQUksVUFDRixrQkFBaUIsZ0NBQWdDO0FBRW5ELFNBQUksaUJBQ0YsUUFBTyxRQUFRLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxLQUFLSCxhQUFXO0FBQ3pELHVCQUFpQixxQ0FBcUMsU0FDcEQsT0FBT0EsUUFBTTtPQUNmO0FBRUosU0FBSSxtQkFDRixrQkFBaUIseUNBQ2Y7QUFFSixTQUFJLG9CQUNGLGtCQUFpQiwwQ0FDZixLQUFLLFVBQVUsb0JBQW9CO0FBRXZDLFNBQUksUUFBUSxLQUNWLGtCQUFpQiwyQkFBMkIsT0FBTyxLQUFLO0tBRzFELE1BQU0sa0JBQWtCLG1CQUFvQixpQkFBaUI7S0FDN0QsTUFBTSw0QkFBNEIsT0FBTyxRQUN2QyxnQkFDRCxDQUFDLFFBQ0MsS0FBSyxDQUFDLEtBQUtBLGNBQVk7TUFDdEIsR0FBRztPQUNGLG1CQUFtQixRQUFRLEdBQUdBO01BQ2hDLEdBQ0QsRUFBRSxDQUNIO0tBRUQsTUFBTSxtQkFBbUIsRUFDdkIseUJBQXlCLE9BQU8sYUFBYSxLQUFLLEVBQ25EO0FBRUQscUJBQWdCO01BQ2QsR0FBRztNQUNILGtCQUFrQjtPQUNoQixHQUFHLE1BQU07T0FDVCxHQUFHLHlCQUF5QjtPQUM1QixHQUFHO09BQ0gsR0FBRztPQUNILEdBQUc7T0FDSjtNQUNGO1VBRUQsaUJBQWdCO0FBR2xCLHFCQUFpQixTQUFTLFlBQVksaUJBQWlCLGNBQWM7QUFFckUsV0FBTzs7R0FFVjtBQUNELHFDQUFtQyxXQUFXO0FBQzlDLFNBQU87SUFDTjtFQUNEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDRCxDQUFDO0FBRUYsaUJBQWdCO0FBQ2QsTUFBSSxXQUFXLENBQUMsaUJBQWlCO0dBQy9CLE1BQU1JLDJCQUEwQyxnQkFBZ0I7R0FDaEUsTUFBTSxvQkFBb0IsNEJBQTRCO0FBQ3RELDRCQUF5QixJQUFJLDRCQUE0QixDQUFDO0FBQzFELDRCQUF5QixLQUFLLGlCQUFrQixRQUFTO0lBQ3ZELFlBQVk7SUFDWixpQkFBaUIsRUFDZixXQUFXLE1BQ1o7SUFDRCxhQUFhO0tBQ1gsYUFBYTtLQUNiLFdBQVcsRUFDVCxxQkFBcUIsWUFDdEI7S0FDRCxVQUFVO0tBQ1Ysa0JBQWtCO0tBQ2xCLGVBQWU7S0FDaEI7SUFDRixDQUFDO0FBQ0Ysc0JBQW1CLHlCQUF5Qjs7SUFFN0M7RUFDRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELENBQUM7Q0FFRixNQUFNLGFBQWEsWUFDakIsT0FBTyxFQUNMLFdBQ0EsWUFDQSxhQUNBLDRCQUE0QixZQUNTO0FBQ3JDLGlCQUFPLFNBQVMsb0JBQW9CLFVBQVU7QUFDOUMsTUFBSTtHQUNGLE1BQU0scUJBQXFCLFlBQVk7QUFFdkMsT0FBSSxDQUFDLGlCQUFpQjtBQUNwQixtQkFBTyxRQUFRLDhCQUE4QixRQUFXLEVBQ3RELFlBQVksb0JBQ2IsQ0FBQztBQUNGOztHQUdGLE1BQU0sWUFBWSxLQUFLLFVBQVU7SUFDL0I7SUFDQTtJQUNBLDZCQUFZLElBQUksTUFBTSxFQUFDLGFBQWE7SUFDckMsQ0FBQztHQUVGLE1BQU0sT0FEVSxJQUFJLGFBQWEsQ0FDWixPQUFPLFVBQVU7R0FHdEMsTUFBTSxhQUFhLE1BQU0sT0FBTyxPQUFPLE9BQU8sV0FBVyxLQUFLO0dBRTlELE1BQU0sa0JBRFksTUFBTSxLQUFLLElBQUksV0FBVyxXQUFXLENBQUMsQ0FFckQsS0FBSyxNQUFNLEVBQUUsU0FBUyxHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUMzQyxLQUFLLEdBQUc7QUFFWCxrQkFBTyxTQUFTLHNCQUFzQixzQkFBc0IsTUFBTTtJQUNoRSxZQUFZO0lBQ1osT0FBTztJQUNSLENBQUM7QUFFRixtQkFBZ0IsTUFDZCxvQkFDQTtJQUNFLEdBQUcseUJBQXlCO0lBQzVCLEdBQUc7SUFDSCxHQUFJLGFBQ0EsK0JBQStCLFdBQVcsV0FBVyxHQUNyRCxFQUFFO0lBQ1AsRUFDRDtJQUNFLEdBQUc7SUFDSCxXQUFXO0lBQ1osQ0FDRjtBQUVELE9BQUksNkJBQTZCLGFBQWE7QUFFNUMsbUJBQU8sU0FBUywyQkFBMkIsbUJBQW1CO0FBQzlELFFBQUksT0FBTyxVQUNULENBQUMsT0FBTyxVQUFvQixLQUFLO0tBQy9CLE9BQU87S0FDSztLQUNiLENBQUM7O1dBR0MsS0FBSztBQUNaLGtCQUFPLFNBQVMsb0NBQW9DLEtBQUs7SUFDdkQ7SUFDQTtJQUNELENBQUM7O0lBR047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNELENBQ0Y7Q0FFRCxNQUFNLFFBQVEsZUFDTDtFQUNMO0VBQ0E7RUFDQSw4QkFBOEIsVUFDNUIsNEJBQTRCLE1BQU07RUFDckMsR0FDRDtFQUFDO0VBQVk7RUFBUztFQUE0QixDQUNuRDtBQUVELEtBQUksQ0FBQyxTQUFTO0FBQ1osVUFBUSxJQUFJLGtDQUFrQyxTQUFTLFFBQVEsb0JBQW9CLGdCQUFnQjtBQUNuRyxTQUFPOztBQUdULFFBQ0Usb0JBQUMsaUJBQWlCO0VBQWdCO0VBQy9CO0dBQ3lCOztBQUloQyxNQUFhLHFCQUFxQjtDQUNoQyxNQUFNLFVBQVUsV0FBVyxpQkFBaUI7QUFDNUMsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQU0scURBQXFEO0FBRXZFLFFBQU8ifQ==
File without changes
@@ -1,52 +0,0 @@
1
- import React from "react";
2
-
3
- //#region src/contexts/amplitudeContext/amplitudeContext.d.ts
4
- declare enum SpiffyMetricsEventName {
5
- BundleLoaded = "Bundle Loaded",
6
- ChatLiveAgentBtnClick = "Chat Live Agent Btn Click",
7
- ChatFloatingButtonVisible = "Chat Floating Button Visible",
8
- ChatComponentVisible = "Chat Component Visible",
9
- ChatComponentExpanded = "Chat Component Expanded",
10
- ChatComponentCollapsed = "Chat Component Collapsed",
11
- ChatUserMessageInput = "Chat User Message Input",
12
- ChatSuggestionClicked = "Chat Suggestion Clicked",
13
- ChatAssistantResponse = "Chat Assistant Response",
14
- ProductCardClicked = "Product Card Clicked",
15
- ProductReviewCardClicked = "Product Review Card Clicked",
16
- AddToCartClicked = "Add to Cart Clicked",
17
- PromptCardClicked = "Prompt Card Clicked",
18
- SupportedEvent = "Supported Event",
19
- SearchBackToResponseClicked = "Search Back to Response Clicked",
20
- PerformanceMetrics = "Performance Metrics",
21
- SearchBarClicked = "Search Bar Clicked",
22
- OrderLookupStarted = "Order Lookup Started",
23
- OrderLookupFormSubmitted = "Order Lookup Form Submitted",
24
- SearchComponentVisible = "Search Component Visible",
25
- SearchZeroStateSuggestionClicked = "Search Zero State Suggestion Clicked",
26
- // This is the scrolling list of suggestion buttons in global search
27
- SearchInputStarted = "Search Input Started",
28
- SearchQuerySubmitted = "Search Query Submitted",
29
- SearchResultsViewed = "Search Results Viewed",
30
- SearchTimeToFirstClick = "Search Time to First Click",
31
- SearchZeroResultsRate = "Search Zero Results Rate",
32
- SearchFilterClicked = "Search Filter Clicked",
33
- SearchSortClicked = "Search Sort Clicked",
34
- }
35
- interface TrackEventParams {
36
- eventName: SpiffyMetricsEventName;
37
- eventProps?: Record<string, unknown>;
38
- eventGroups?: Record<string, unknown>;
39
- alsoSendToGoogleAnalytics?: boolean;
40
- }
41
- interface AmplitudeContextType {
42
- trackEvent: (params: TrackEventParams) => Promise<void>;
43
- isReady: boolean;
44
- setSupplementalDefaultProps: (props: Record<string, unknown>) => void;
45
- }
46
- declare const AmplitudeProvider: React.FC<{
47
- children: React.ReactNode;
48
- }>;
49
- declare const useAmplitude: () => AmplitudeContextType;
50
- //#endregion
51
- export { AmplitudeProvider, SpiffyMetricsEventName, useAmplitude };
52
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC1EY1J1cjk3Wi5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUge1xuICAgIEJ1bmRsZUxvYWRlZCA9IFwiQnVuZGxlIExvYWRlZFwiLFxuICAgIENoYXRMaXZlQWdlbnRCdG5DbGljayA9IFwiQ2hhdCBMaXZlIEFnZW50IEJ0biBDbGlja1wiLFxuICAgIENoYXRGbG9hdGluZ0J1dHRvblZpc2libGUgPSBcIkNoYXQgRmxvYXRpbmcgQnV0dG9uIFZpc2libGVcIixcbiAgICBDaGF0Q29tcG9uZW50VmlzaWJsZSA9IFwiQ2hhdCBDb21wb25lbnQgVmlzaWJsZVwiLFxuICAgIENoYXRDb21wb25lbnRFeHBhbmRlZCA9IFwiQ2hhdCBDb21wb25lbnQgRXhwYW5kZWRcIixcbiAgICBDaGF0Q29tcG9uZW50Q29sbGFwc2VkID0gXCJDaGF0IENvbXBvbmVudCBDb2xsYXBzZWRcIixcbiAgICBDaGF0VXNlck1lc3NhZ2VJbnB1dCA9IFwiQ2hhdCBVc2VyIE1lc3NhZ2UgSW5wdXRcIixcbiAgICBDaGF0U3VnZ2VzdGlvbkNsaWNrZWQgPSBcIkNoYXQgU3VnZ2VzdGlvbiBDbGlja2VkXCIsXG4gICAgQ2hhdEFzc2lzdGFudFJlc3BvbnNlID0gXCJDaGF0IEFzc2lzdGFudCBSZXNwb25zZVwiLFxuICAgIFByb2R1Y3RDYXJkQ2xpY2tlZCA9IFwiUHJvZHVjdCBDYXJkIENsaWNrZWRcIixcbiAgICBQcm9kdWN0UmV2aWV3Q2FyZENsaWNrZWQgPSBcIlByb2R1Y3QgUmV2aWV3IENhcmQgQ2xpY2tlZFwiLFxuICAgIEFkZFRvQ2FydENsaWNrZWQgPSBcIkFkZCB0byBDYXJ0IENsaWNrZWRcIixcbiAgICBQcm9tcHRDYXJkQ2xpY2tlZCA9IFwiUHJvbXB0IENhcmQgQ2xpY2tlZFwiLFxuICAgIFN1cHBvcnRlZEV2ZW50ID0gXCJTdXBwb3J0ZWQgRXZlbnRcIixcbiAgICBTZWFyY2hCYWNrVG9SZXNwb25zZUNsaWNrZWQgPSBcIlNlYXJjaCBCYWNrIHRvIFJlc3BvbnNlIENsaWNrZWRcIixcbiAgICBQZXJmb3JtYW5jZU1ldHJpY3MgPSBcIlBlcmZvcm1hbmNlIE1ldHJpY3NcIixcbiAgICBTZWFyY2hCYXJDbGlja2VkID0gXCJTZWFyY2ggQmFyIENsaWNrZWRcIixcbiAgICBPcmRlckxvb2t1cFN0YXJ0ZWQgPSBcIk9yZGVyIExvb2t1cCBTdGFydGVkXCIsXG4gICAgT3JkZXJMb29rdXBGb3JtU3VibWl0dGVkID0gXCJPcmRlciBMb29rdXAgRm9ybSBTdWJtaXR0ZWRcIixcbiAgICBTZWFyY2hDb21wb25lbnRWaXNpYmxlID0gXCJTZWFyY2ggQ29tcG9uZW50IFZpc2libGVcIixcbiAgICBTZWFyY2haZXJvU3RhdGVTdWdnZXN0aW9uQ2xpY2tlZCA9IFwiU2VhcmNoIFplcm8gU3RhdGUgU3VnZ2VzdGlvbiBDbGlja2VkXCIsLy8gVGhpcyBpcyB0aGUgc2Nyb2xsaW5nIGxpc3Qgb2Ygc3VnZ2VzdGlvbiBidXR0b25zIGluIGdsb2JhbCBzZWFyY2hcbiAgICBTZWFyY2hJbnB1dFN0YXJ0ZWQgPSBcIlNlYXJjaCBJbnB1dCBTdGFydGVkXCIsXG4gICAgU2VhcmNoUXVlcnlTdWJtaXR0ZWQgPSBcIlNlYXJjaCBRdWVyeSBTdWJtaXR0ZWRcIixcbiAgICBTZWFyY2hSZXN1bHRzVmlld2VkID0gXCJTZWFyY2ggUmVzdWx0cyBWaWV3ZWRcIixcbiAgICBTZWFyY2hUaW1lVG9GaXJzdENsaWNrID0gXCJTZWFyY2ggVGltZSB0byBGaXJzdCBDbGlja1wiLFxuICAgIFNlYXJjaFplcm9SZXN1bHRzUmF0ZSA9IFwiU2VhcmNoIFplcm8gUmVzdWx0cyBSYXRlXCIsXG4gICAgU2VhcmNoRmlsdGVyQ2xpY2tlZCA9IFwiU2VhcmNoIEZpbHRlciBDbGlja2VkXCIsXG4gICAgU2VhcmNoU29ydENsaWNrZWQgPSBcIlNlYXJjaCBTb3J0IENsaWNrZWRcIlxufVxuaW50ZXJmYWNlIFRyYWNrRXZlbnRQYXJhbXMge1xuICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZTtcbiAgICBldmVudFByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgZXZlbnRHcm91cHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBhbHNvU2VuZFRvR29vZ2xlQW5hbHl0aWNzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBBbXBsaXR1ZGVDb250ZXh0VHlwZSB7XG4gICAgdHJhY2tFdmVudDogKHBhcmFtczogVHJhY2tFdmVudFBhcmFtcykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgICBpc1JlYWR5OiBib29sZWFuO1xuICAgIHNldFN1cHBsZW1lbnRhbERlZmF1bHRQcm9wczogKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEFtcGxpdHVkZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn0+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlQW1wbGl0dWRlOiAoKSA9PiBBbXBsaXR1ZGVDb250ZXh0VHlwZTtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBVyx5QkFBeUIsQ0FBQyxJQUFJO0FBQ3pDLElBQUksbUJBQW1CO0NBQUM7T0FBVTtPQUFBO09BQUE7Q0FBQTtBQUNsQyxJQUFJLHVCQUF1QjtDQUFDO09BQVc7T0FBZ0I7T0FBQTtDQUFBO0FBQ3ZELElBQVcsb0JBQW9CO0NBQUM7T0FBVyxNQUFNO09BQWEsTUFBQTtDQUFBO0FBQzlELElBQVcsZUFBZSxDQUFDLFdBQVcscUJBQWEifQ==
@@ -1,166 +0,0 @@
1
- import { hasPropertyOfType } from "./utils-DIvMgPe8.js";
2
- import { logger_default } from "./logger-W3lqg-4b.js";
3
- import { ResponseCategory, SuggestionCategory, UserEventCategory } from "@spiffy-ai/commerce-api-client";
4
-
5
- //#region src/application/models/guards/api/isApiPDPEventAttributes.ts
6
- const isApiPDPAttributes = (data) => {
7
- if (data == null || typeof data !== "object") return false;
8
- if (!("product_id" in data) || typeof data.product_id !== "string") return false;
9
- if ("parent_product_id" in data && typeof data.parent_product_id !== "string") return false;
10
- if ("url" in data && data.url != null && typeof data.url !== "string") return false;
11
- return true;
12
- };
13
-
14
- //#endregion
15
- //#region src/application/models/guards/api/isApiQueryTypedEventAttributes.ts
16
- const isApiQueryTypedAttributes = (data) => data != null && typeof data === "object" && "query" in data && typeof data.query === "string";
17
-
18
- //#endregion
19
- //#region src/application/models/guards/api/isApiResponse.ts
20
- const isApiResponse = (data) => {
21
- if (data == null || typeof data !== "object") {
22
- logger_default.logError("isApiResponse: data is null or not an object", void 0, { data });
23
- return false;
24
- }
25
- if (!hasPropertyOfType(data, "id", "string")) {
26
- logger_default.logError("isApiResponse: id is not a string", void 0, { data });
27
- return false;
28
- }
29
- if (!hasPropertyOfType(data, "category", "string") || !Object.values(ResponseCategory).includes(data.category)) {
30
- logger_default.logError("isApiResponse: category is not a string or not a valid response category", void 0, { data });
31
- return false;
32
- }
33
- if (!hasPropertyOfType(data, "created_at", "string")) {
34
- logger_default.logError("isApiResponse: created_at is not a string", void 0, { data });
35
- return false;
36
- }
37
- if (!hasPropertyOfType(data, "attributes", "object", true)) {
38
- logger_default.logError("isApiResponse: attributes is not an object", void 0, { data });
39
- return false;
40
- }
41
- return true;
42
- };
43
-
44
- //#endregion
45
- //#region src/application/models/guards/api/isApiProductResponseAttributes.ts
46
- const isApiProductResponseAttributes = (attributes) => {
47
- if (attributes == null || typeof attributes !== "object") {
48
- logger_default.logError("isApiProductResponseAttributes: attributes is null or not an object", void 0, { attributes });
49
- return false;
50
- }
51
- if (!hasPropertyOfType(attributes, "description", "string", true)) {
52
- logger_default.logError("isApiProductResponseAttributes: description is not a string", void 0, { attributes });
53
- return false;
54
- }
55
- if (!hasPropertyOfType(attributes, "image_url", "string", true)) {
56
- logger_default.logError("isApiProductResponseAttributes: image_url is not a string", void 0, { attributes });
57
- return false;
58
- }
59
- if (!hasPropertyOfType(attributes, "title", "string")) {
60
- logger_default.logError("isApiProductResponseAttributes: title is not a string", void 0, { attributes });
61
- return false;
62
- }
63
- if (!hasPropertyOfType(attributes, "url", "string")) {
64
- logger_default.logError("isApiProductResponseAttributes: url is not a string", void 0, { attributes });
65
- return false;
66
- }
67
- if (!hasPropertyOfType(attributes, "original_price", "number", true)) {
68
- logger_default.logError("isApiProductResponseAttributes: original_price is not a number", void 0, { attributes });
69
- return false;
70
- }
71
- if (!hasPropertyOfType(attributes, "sale_price", "number", true)) {
72
- logger_default.logError("isApiProductResponseAttributes: sale_price is not a number", void 0, { attributes });
73
- return false;
74
- }
75
- if (!hasPropertyOfType(attributes, "average_rating", "number", true)) {
76
- logger_default.logError("isApiProductResponseAttributes: average_rating is not a number", void 0, { attributes });
77
- return false;
78
- }
79
- if (!hasPropertyOfType(attributes, "number_reviews", "number", true)) {
80
- logger_default.logError("isApiProductResponseAttributes: number_reviews is not a number", void 0, { attributes });
81
- return false;
82
- }
83
- if (!hasPropertyOfType(attributes, "metadata", "array", true)) {
84
- logger_default.logError("isApiProductResponseAttributes: metadata is not an array", void 0, { attributes });
85
- return false;
86
- }
87
- return true;
88
- };
89
-
90
- //#endregion
91
- //#region src/application/models/guards/api/isApiReviewRichInformation.ts
92
- const isApiReviewRichInformation = (richInfo) => {
93
- if (richInfo == null || typeof richInfo !== "object") return false;
94
- if ("cons" in richInfo && (!Array.isArray(richInfo.cons) || richInfo.cons.some((con) => typeof con !== "string"))) return false;
95
- if ("pros" in richInfo && (!Array.isArray(richInfo.pros) || richInfo.pros.some((pro) => typeof pro !== "string"))) return false;
96
- if ("review_date" in richInfo && typeof richInfo.review_date !== "string") return false;
97
- if ("reviewer_title" in richInfo && typeof richInfo.reviewer_title !== "string") return false;
98
- if ("product_familiarity" in richInfo && typeof richInfo.product_familiarity !== "string") return false;
99
- return true;
100
- };
101
-
102
- //#endregion
103
- //#region src/application/models/guards/api/isApiReviewResponseAttributes.ts
104
- const isApiReviewResponseAttributes = (obj) => {
105
- if (obj == null || typeof obj !== "object") return false;
106
- if ("title" in obj && obj.title != null && typeof obj.title !== "string") return false;
107
- if ("review" in obj && typeof obj.review !== "string") return false;
108
- if ("reviewer" in obj && typeof obj.reviewer !== "string") return false;
109
- if ("stars" in obj && typeof obj.stars !== "number") return false;
110
- if ("rich_information" in obj && !isApiReviewRichInformation(obj.rich_information)) return false;
111
- return true;
112
- };
113
-
114
- //#endregion
115
- //#region src/application/models/guards/api/isApiSearchEventAttributes.ts
116
- const isApiSearchAttributes = (data) => {
117
- if (data == null || typeof data !== "object") return false;
118
- if (!("search_term" in data) || typeof data.search_term !== "string") return false;
119
- if ("selected_filters" in data && !Array.isArray(data.selected_filters)) return false;
120
- if (!!data.search_term) return true;
121
- if (!("search_results" in data) || !Array.isArray(data.search_results) || !data.search_results.every((v) => typeof v === "string")) return false;
122
- return true;
123
- };
124
-
125
- //#endregion
126
- //#region src/application/models/guards/api/isApiSuggestion.ts
127
- const isSuggestion = (data) => {
128
- if (data == null || typeof data !== "object") return false;
129
- if (!("id" in data) || typeof data.id !== "string") return false;
130
- if (!("category" in data) || typeof data.category !== "string" || !Object.values(SuggestionCategory).includes(data.category)) return false;
131
- if (!("created_at" in data) || typeof data.created_at !== "string") return false;
132
- if (!("content" in data) || typeof data.content !== "string") return false;
133
- if ("is_answer" in data && data.is_answer != null && typeof data.is_answer !== "boolean") return false;
134
- return true;
135
- };
136
-
137
- //#endregion
138
- //#region src/application/models/guards/api/isApiSuggestionClickedEventAttributes.ts
139
- const isApiSuggestionClickedAttributes = (data) => data != null && typeof data === "object" && "suggestion_id" in data && typeof data.suggestion_id === "string";
140
-
141
- //#endregion
142
- //#region src/application/models/guards/api/isApiTextResponseAttributes.ts
143
- const isApiTextResponseAttributes = (attributes) => typeof attributes === "object" && attributes != null && "content" in attributes && typeof attributes.content === "string";
144
-
145
- //#endregion
146
- //#region src/application/models/guards/api/isApiUserEvent.ts
147
- const isApiUserEvent = (data) => {
148
- if (data == null || typeof data !== "object") return false;
149
- if (!("event_id" in data) || typeof data.event_id !== "string") return false;
150
- if (!("created_at" in data) || typeof data.created_at !== "string") return false;
151
- if (!("category" in data) || typeof data.category !== "string" || !Object.values(UserEventCategory).includes(data.category)) return false;
152
- return true;
153
- };
154
-
155
- //#endregion
156
- //#region src/application/models/guards/api/isApiProductSearchAttributes.ts
157
- const isApiProductSearchResponseAttributes = (attributes) => {
158
- if (attributes == null || typeof attributes !== "object") return false;
159
- if ("generated_query" in attributes && typeof attributes.generated_query !== "string") return false;
160
- if ("product_count" in attributes && attributes.product_count != null && typeof attributes.product_count !== "number") return false;
161
- return true;
162
- };
163
-
164
- //#endregion
165
- export { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion };
166
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLUJXU3NhekFHLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVBEUEV2ZW50QXR0cmlidXRlcy50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVF1ZXJ5VHlwZWRFdmVudEF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlSZXNwb25zZS50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlSZXZpZXdSaWNoSW5mb3JtYXRpb24udHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlTZWFyY2hFdmVudEF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlTdWdnZXN0aW9uLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpU3VnZ2VzdGlvbkNsaWNrZWRFdmVudEF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpVXNlckV2ZW50LnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpUHJvZHVjdFNlYXJjaEF0dHJpYnV0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUERQQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVBEUEF0dHJpYnV0ZXMgPSAoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgUERQQXR0cmlidXRlcyA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ3Byb2R1Y3RfaWQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLnByb2R1Y3RfaWQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdwYXJlbnRfcHJvZHVjdF9pZCcgaW4gZGF0YSAmJiB0eXBlb2YgZGF0YS5wYXJlbnRfcHJvZHVjdF9pZCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3VybCcgaW4gZGF0YSAmJiBkYXRhLnVybCAhPSBudWxsICYmIHR5cGVvZiBkYXRhLnVybCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iLCJpbXBvcnQgeyBRdWVyeVR5cGVkQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVF1ZXJ5VHlwZWRBdHRyaWJ1dGVzID0gKGRhdGE6IHVua25vd24pOiBkYXRhIGlzIFF1ZXJ5VHlwZWRBdHRyaWJ1dGVzID0+XG4gIGRhdGEgIT0gbnVsbCAmJiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgJ3F1ZXJ5JyBpbiBkYXRhICYmIHR5cGVvZiBkYXRhLnF1ZXJ5ID09PSAnc3RyaW5nJztcbiIsImltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IFJlc3BvbnNlLCBSZXNwb25zZUNhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IGhhc1Byb3BlcnR5T2ZUeXBlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgaXNBcGlSZXNwb25zZSA9IChkYXRhOiB1bmtub3duKTogZGF0YSBpcyBSZXNwb25zZSA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVJlc3BvbnNlOiBkYXRhIGlzIG51bGwgb3Igbm90IGFuIG9iamVjdCcsIHVuZGVmaW5lZCwgeyBkYXRhIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ2lkJywgJ3N0cmluZycpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVJlc3BvbnNlOiBpZCBpcyBub3QgYSBzdHJpbmcnLCB1bmRlZmluZWQsIHsgZGF0YSB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdjYXRlZ29yeScsICdzdHJpbmcnKSB8fFxuICAgICFPYmplY3QudmFsdWVzKFJlc3BvbnNlQ2F0ZWdvcnkpLmluY2x1ZGVzKGRhdGEuY2F0ZWdvcnkgYXMgUmVzcG9uc2VDYXRlZ29yeSlcbiAgKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ2lzQXBpUmVzcG9uc2U6IGNhdGVnb3J5IGlzIG5vdCBhIHN0cmluZyBvciBub3QgYSB2YWxpZCByZXNwb25zZSBjYXRlZ29yeScsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB7IGRhdGEgfSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ2NyZWF0ZWRfYXQnLCAnc3RyaW5nJykpIHtcbiAgICBMb2dnZXIubG9nRXJyb3IoJ2lzQXBpUmVzcG9uc2U6IGNyZWF0ZWRfYXQgaXMgbm90IGEgc3RyaW5nJywgdW5kZWZpbmVkLCB7IGRhdGEgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShkYXRhLCAnYXR0cmlidXRlcycsICdvYmplY3QnLCB0cnVlKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlSZXNwb25zZTogYXR0cmlidXRlcyBpcyBub3QgYW4gb2JqZWN0JywgdW5kZWZpbmVkLCB7IGRhdGEgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBoYXNQcm9wZXJ0eU9mVHlwZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGlzQXBpUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlcyA9IChcbiAgYXR0cmlidXRlczogdW5rbm93bixcbik6IGF0dHJpYnV0ZXMgaXMgUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyA9PiB7XG4gIGlmIChhdHRyaWJ1dGVzID09IG51bGwgfHwgdHlwZW9mIGF0dHJpYnV0ZXMgIT09ICdvYmplY3QnKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ2lzQXBpUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlczogYXR0cmlidXRlcyBpcyBudWxsIG9yIG5vdCBhbiBvYmplY3QnLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAge1xuICAgICAgICBhdHRyaWJ1dGVzLFxuICAgICAgfSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ2Rlc2NyaXB0aW9uJywgJ3N0cmluZycsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IGRlc2NyaXB0aW9uIGlzIG5vdCBhIHN0cmluZycsIHVuZGVmaW5lZCwge1xuICAgICAgYXR0cmlidXRlcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgIWhhc1Byb3BlcnR5T2ZUeXBlKGF0dHJpYnV0ZXMsICdpbWFnZV91cmwnLCAnc3RyaW5nJywgdHJ1ZSlcbiAgKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IGltYWdlX3VybCBpcyBub3QgYSBzdHJpbmcnLCB1bmRlZmluZWQsIHtcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShhdHRyaWJ1dGVzLCAndGl0bGUnLCAnc3RyaW5nJykpIHtcbiAgICBMb2dnZXIubG9nRXJyb3IoJ2lzQXBpUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlczogdGl0bGUgaXMgbm90IGEgc3RyaW5nJywgdW5kZWZpbmVkLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ3VybCcsICdzdHJpbmcnKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzOiB1cmwgaXMgbm90IGEgc3RyaW5nJywgdW5kZWZpbmVkLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ29yaWdpbmFsX3ByaWNlJywgJ251bWJlcicsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IG9yaWdpbmFsX3ByaWNlIGlzIG5vdCBhIG51bWJlcicsIHVuZGVmaW5lZCwge1xuICAgICAgYXR0cmlidXRlcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGF0dHJpYnV0ZXMsICdzYWxlX3ByaWNlJywgJ251bWJlcicsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IHNhbGVfcHJpY2UgaXMgbm90IGEgbnVtYmVyJywgdW5kZWZpbmVkLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ2F2ZXJhZ2VfcmF0aW5nJywgJ251bWJlcicsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IGF2ZXJhZ2VfcmF0aW5nIGlzIG5vdCBhIG51bWJlcicsIHVuZGVmaW5lZCwge1xuICAgICAgYXR0cmlidXRlcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGF0dHJpYnV0ZXMsICdudW1iZXJfcmV2aWV3cycsICdudW1iZXInLCB0cnVlKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzOiBudW1iZXJfcmV2aWV3cyBpcyBub3QgYSBudW1iZXInLCB1bmRlZmluZWQsIHtcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShhdHRyaWJ1dGVzLCAnbWV0YWRhdGEnLCAnYXJyYXknLCB0cnVlKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzOiBtZXRhZGF0YSBpcyBub3QgYW4gYXJyYXknLCB1bmRlZmluZWQsIHtcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IHsgQXBpUmV2aWV3UmljaEluZm9ybWF0aW9uIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVJldmlld1JpY2hJbmZvcm1hdGlvbiA9IChcbiAgcmljaEluZm86IHVua25vd24sXG4pOiByaWNoSW5mbyBpcyBBcGlSZXZpZXdSaWNoSW5mb3JtYXRpb24gPT4ge1xuICBpZiAocmljaEluZm8gPT0gbnVsbCB8fCB0eXBlb2YgcmljaEluZm8gIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKFxuICAgICdjb25zJyBpbiByaWNoSW5mbyAmJlxuICAgICghQXJyYXkuaXNBcnJheShyaWNoSW5mby5jb25zKSB8fCByaWNoSW5mby5jb25zLnNvbWUoKGNvbikgPT4gdHlwZW9mIGNvbiAhPT0gJ3N0cmluZycpKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgJ3Byb3MnIGluIHJpY2hJbmZvICYmXG4gICAgKCFBcnJheS5pc0FycmF5KHJpY2hJbmZvLnByb3MpIHx8IHJpY2hJbmZvLnByb3Muc29tZSgocHJvKSA9PiB0eXBlb2YgcHJvICE9PSAnc3RyaW5nJykpXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICgncmV2aWV3X2RhdGUnIGluIHJpY2hJbmZvICYmIHR5cGVvZiByaWNoSW5mby5yZXZpZXdfZGF0ZSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3Jldmlld2VyX3RpdGxlJyBpbiByaWNoSW5mbyAmJiB0eXBlb2YgcmljaEluZm8ucmV2aWV3ZXJfdGl0bGUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdwcm9kdWN0X2ZhbWlsaWFyaXR5JyBpbiByaWNoSW5mbyAmJiB0eXBlb2YgcmljaEluZm8ucHJvZHVjdF9mYW1pbGlhcml0eSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iLCJpbXBvcnQgeyBBcGlSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZUdlbmVyaWNzJztcbmltcG9ydCB7IGlzQXBpUmV2aWV3UmljaEluZm9ybWF0aW9uIH0gZnJvbSAnLi9pc0FwaVJldmlld1JpY2hJbmZvcm1hdGlvbic7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVJldmlld1Jlc3BvbnNlQXR0cmlidXRlcyA9IChvYmo6IHVua25vd24pOiBvYmogaXMgQXBpUmV2aWV3UmVzcG9uc2VBdHRyaWJ1dGVzID0+IHtcbiAgaWYgKG9iaiA9PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCd0aXRsZScgaW4gb2JqICYmIG9iai50aXRsZSAhPSBudWxsICYmIHR5cGVvZiBvYmoudGl0bGUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdyZXZpZXcnIGluIG9iaiAmJiB0eXBlb2Ygb2JqLnJldmlldyAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3Jldmlld2VyJyBpbiBvYmogJiYgdHlwZW9mIG9iai5yZXZpZXdlciAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3N0YXJzJyBpbiBvYmogJiYgdHlwZW9mIG9iai5zdGFycyAhPT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3JpY2hfaW5mb3JtYXRpb24nIGluIG9iaiAmJiAhaXNBcGlSZXZpZXdSaWNoSW5mb3JtYXRpb24ob2JqLnJpY2hfaW5mb3JtYXRpb24pKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IHsgU2VhcmNoQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVNlYXJjaEF0dHJpYnV0ZXMgPSAoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgU2VhcmNoQXR0cmlidXRlcyA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ3NlYXJjaF90ZXJtJyBpbiBkYXRhKSB8fCB0eXBlb2YgZGF0YS5zZWFyY2hfdGVybSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKCdzZWxlY3RlZF9maWx0ZXJzJyBpbiBkYXRhICYmICFBcnJheS5pc0FycmF5KGRhdGEuc2VsZWN0ZWRfZmlsdGVycykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoISFkYXRhLnNlYXJjaF90ZXJtKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoXG4gICAgISgnc2VhcmNoX3Jlc3VsdHMnIGluIGRhdGEpIHx8XG4gICAgIUFycmF5LmlzQXJyYXkoZGF0YS5zZWFyY2hfcmVzdWx0cykgfHxcbiAgICAhZGF0YS5zZWFyY2hfcmVzdWx0cy5ldmVyeSgodikgPT4gdHlwZW9mIHYgPT09ICdzdHJpbmcnKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iLCJpbXBvcnQge1xuICBTdWdnZXN0aW9uIGFzIENvbW1lcmNlU3VnZ2VzdGlvbixcbiAgU3VnZ2VzdGlvbkNhdGVnb3J5LFxufSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuXG5leHBvcnQgY29uc3QgaXNTdWdnZXN0aW9uID0gKGRhdGE6IHVua25vd24pOiBkYXRhIGlzIENvbW1lcmNlU3VnZ2VzdGlvbiA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ2lkJyBpbiBkYXRhKSB8fCB0eXBlb2YgZGF0YS5pZCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgISgnY2F0ZWdvcnknIGluIGRhdGEpIHx8XG4gICAgdHlwZW9mIGRhdGEuY2F0ZWdvcnkgIT09ICdzdHJpbmcnIHx8XG4gICAgIU9iamVjdC52YWx1ZXMoU3VnZ2VzdGlvbkNhdGVnb3J5KS5pbmNsdWRlcyhkYXRhLmNhdGVnb3J5IGFzIFN1Z2dlc3Rpb25DYXRlZ29yeSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ2NyZWF0ZWRfYXQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLmNyZWF0ZWRfYXQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ2NvbnRlbnQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLmNvbnRlbnQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdpc19hbnN3ZXInIGluIGRhdGEgJiYgZGF0YS5pc19hbnN3ZXIgIT0gbnVsbCAmJiB0eXBlb2YgZGF0YS5pc19hbnN3ZXIgIT09ICdib29sZWFuJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcbiIsImltcG9ydCB7IFN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyA9IChcbiAgZGF0YTogdW5rbm93bixcbik6IGRhdGEgaXMgU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzID0+XG4gIGRhdGEgIT0gbnVsbCAmJlxuICB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgJ3N1Z2dlc3Rpb25faWQnIGluIGRhdGEgJiZcbiAgdHlwZW9mIGRhdGEuc3VnZ2VzdGlvbl9pZCA9PT0gJ3N0cmluZyc7XG4iLCJpbXBvcnQgeyBBcGlUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVRleHRSZXNwb25zZUF0dHJpYnV0ZXMgPSAoXG4gIGF0dHJpYnV0ZXM6IHVua25vd24sXG4pOiBhdHRyaWJ1dGVzIGlzIEFwaVRleHRSZXNwb25zZUF0dHJpYnV0ZXMgPT5cbiAgdHlwZW9mIGF0dHJpYnV0ZXMgPT09ICdvYmplY3QnICYmXG4gIGF0dHJpYnV0ZXMgIT0gbnVsbCAmJlxuICAnY29udGVudCcgaW4gYXR0cmlidXRlcyAmJlxuICB0eXBlb2YgYXR0cmlidXRlcy5jb250ZW50ID09PSAnc3RyaW5nJztcbiIsImltcG9ydCB7IFVzZXJFdmVudCwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuXG5leHBvcnQgY29uc3QgaXNBcGlVc2VyRXZlbnQgPSAoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgVXNlckV2ZW50ID0+IHtcbiAgaWYgKGRhdGEgPT0gbnVsbCB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoISgnZXZlbnRfaWQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLmV2ZW50X2lkICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghKCdjcmVhdGVkX2F0JyBpbiBkYXRhKSB8fCB0eXBlb2YgZGF0YS5jcmVhdGVkX2F0ICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChcbiAgICAhKCdjYXRlZ29yeScgaW4gZGF0YSkgfHxcbiAgICB0eXBlb2YgZGF0YS5jYXRlZ29yeSAhPT0gJ3N0cmluZycgfHxcbiAgICAhT2JqZWN0LnZhbHVlcyhVc2VyRXZlbnRDYXRlZ29yeSkuaW5jbHVkZXMoZGF0YS5jYXRlZ29yeSBhcyBVc2VyRXZlbnRDYXRlZ29yeSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IHsgUHJvZHVjdFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVByb2R1Y3RTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXMgPSAoXG4gIGF0dHJpYnV0ZXM6IHVua25vd24sXG4pOiBhdHRyaWJ1dGVzIGlzIFByb2R1Y3RTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXMgPT4ge1xuICBpZiAoYXR0cmlidXRlcyA9PSBudWxsIHx8IHR5cGVvZiBhdHRyaWJ1dGVzICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICgnZ2VuZXJhdGVkX3F1ZXJ5JyBpbiBhdHRyaWJ1dGVzICYmIHR5cGVvZiBhdHRyaWJ1dGVzLmdlbmVyYXRlZF9xdWVyeSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgJ3Byb2R1Y3RfY291bnQnIGluIGF0dHJpYnV0ZXMgJiZcbiAgICBhdHRyaWJ1dGVzLnByb2R1Y3RfY291bnQgIT0gbnVsbCAmJlxuICAgIHR5cGVvZiBhdHRyaWJ1dGVzLnByb2R1Y3RfY291bnQgIT09ICdudW1iZXInXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxNQUFhLHNCQUFzQixTQUF5QztBQUMxRSxLQUFJLFFBQVEsUUFBUSxPQUFPLFNBQVMsU0FDbEMsUUFBTztBQUdULEtBQUksRUFBRSxnQkFBZ0IsU0FBUyxPQUFPLEtBQUssZUFBZSxTQUN4RCxRQUFPO0FBR1QsS0FBSSx1QkFBdUIsUUFBUSxPQUFPLEtBQUssc0JBQXNCLFNBQ25FLFFBQU87QUFHVCxLQUFJLFNBQVMsUUFBUSxLQUFLLE9BQU8sUUFBUSxPQUFPLEtBQUssUUFBUSxTQUMzRCxRQUFPO0FBR1QsUUFBTzs7Ozs7QUNqQlQsTUFBYSw2QkFBNkIsU0FDeEMsUUFBUSxRQUFRLE9BQU8sU0FBUyxZQUFZLFdBQVcsUUFBUSxPQUFPLEtBQUssVUFBVTs7OztBQ0N2RixNQUFhLGlCQUFpQixTQUFvQztBQUNoRSxLQUFJLFFBQVEsUUFBUSxPQUFPLFNBQVMsVUFBVTtBQUM1QyxpQkFBTyxTQUFTLGdEQUFnRCxRQUFXLEVBQUUsTUFBTSxDQUFDO0FBQ3BGLFNBQU87O0FBR1QsS0FBSSxDQUFDLGtCQUFrQixNQUFNLE1BQU0sU0FBUyxFQUFFO0FBQzVDLGlCQUFPLFNBQVMscUNBQXFDLFFBQVcsRUFBRSxNQUFNLENBQUM7QUFDekUsU0FBTzs7QUFHVCxLQUNFLENBQUMsa0JBQWtCLE1BQU0sWUFBWSxTQUFTLElBQzlDLENBQUMsT0FBTyxPQUFPLGlCQUFpQixDQUFDLFNBQVMsS0FBSyxTQUE2QixFQUM1RTtBQUNBLGlCQUFPLFNBQ0wsNEVBQ0EsUUFDQSxFQUFFLE1BQU0sQ0FDVDtBQUNELFNBQU87O0FBR1QsS0FBSSxDQUFDLGtCQUFrQixNQUFNLGNBQWMsU0FBUyxFQUFFO0FBQ3BELGlCQUFPLFNBQVMsNkNBQTZDLFFBQVcsRUFBRSxNQUFNLENBQUM7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