@envive-ai/react-hooks 0.2.10 → 0.3.0

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 (1296) 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.d.ts +1 -1
  497. package/dist/atoms/search/utils.js +22 -2
  498. package/dist/config/index.cjs +74 -70
  499. package/dist/config/index.d.cts +8 -4
  500. package/dist/config/index.d.ts +8 -4
  501. package/dist/config/index.js +8 -4
  502. package/dist/config/locators/components/chat/index.cjs +44 -21
  503. package/dist/config/locators/components/chat/index.d.cts +24 -2
  504. package/dist/config/locators/components/chat/index.d.ts +24 -2
  505. package/dist/config/locators/components/chat/index.js +24 -2
  506. package/dist/config/locators/components/chat/variants/index.cjs +1 -1
  507. package/dist/config/locators/components/chat/variants/index.js +1 -1
  508. package/dist/config/locators/components/common/buttons.cjs +17 -0
  509. package/dist/config/locators/components/common/buttons.d.cts +10 -0
  510. package/dist/config/locators/components/common/buttons.d.ts +10 -0
  511. package/dist/config/locators/components/common/buttons.js +11 -0
  512. package/dist/config/locators/components/common/cards.cjs +39 -0
  513. package/dist/config/locators/components/common/cards.d.cts +21 -0
  514. package/dist/config/locators/components/common/cards.d.ts +21 -0
  515. package/dist/config/locators/components/common/cards.js +22 -0
  516. package/dist/config/locators/components/common/index.cjs +29 -26
  517. package/dist/config/locators/components/common/index.d.cts +4 -1
  518. package/dist/config/locators/components/common/index.d.ts +4 -1
  519. package/dist/config/locators/components/common/index.js +4 -1
  520. package/dist/config/locators/components/common/links.cjs +7 -0
  521. package/dist/config/locators/components/common/links.d.cts +5 -0
  522. package/dist/config/locators/components/common/links.d.ts +5 -0
  523. package/dist/config/locators/components/common/links.js +6 -0
  524. package/dist/config/locators/components/common/tables.cjs +7 -0
  525. package/dist/config/locators/components/common/tables.d.cts +5 -0
  526. package/dist/config/locators/components/common/tables.d.ts +5 -0
  527. package/dist/config/locators/components/common/tables.js +6 -0
  528. package/dist/config/locators/components/floating-button.cjs +9 -0
  529. package/dist/config/locators/components/floating-button.d.cts +6 -0
  530. package/dist/config/locators/components/floating-button.d.ts +6 -0
  531. package/dist/config/locators/components/floating-button.js +7 -0
  532. package/dist/config/locators/components/index.cjs +5 -4
  533. package/dist/config/locators/components/index.d.cts +2 -1
  534. package/dist/config/locators/components/index.d.ts +2 -1
  535. package/dist/config/locators/components/index.js +2 -1
  536. package/dist/config/locators/components/shadow-dom.cjs +7 -0
  537. package/dist/config/locators/components/shadow-dom.d.cts +5 -0
  538. package/dist/config/locators/components/shadow-dom.d.ts +5 -0
  539. package/dist/config/locators/components/shadow-dom.js +6 -0
  540. package/dist/config/locators/embedded.cjs +41 -0
  541. package/dist/{index-COXkY78t.d.cts → config/locators/embedded.d.cts} +1 -1
  542. package/dist/{index-BKvFVPUX.d.ts → config/locators/embedded.d.ts} +1 -1
  543. package/dist/{locators-BMQGmGLq.js → config/locators/embedded.js} +1 -1
  544. package/dist/config/locators/index.cjs +74 -70
  545. package/dist/config/locators/index.d.cts +8 -4
  546. package/dist/config/locators/index.d.ts +8 -4
  547. package/dist/config/locators/index.js +8 -4
  548. package/dist/contexts/amplitudeContext/amplitudeContext.cjs +275 -0
  549. package/dist/contexts/amplitudeContext/amplitudeContext.d.cts +52 -0
  550. package/dist/contexts/amplitudeContext/amplitudeContext.d.ts +52 -0
  551. package/dist/contexts/amplitudeContext/amplitudeContext.js +271 -0
  552. package/dist/contexts/amplitudeContext/index.cjs +1 -20
  553. package/dist/contexts/amplitudeContext/index.d.cts +1 -1
  554. package/dist/contexts/amplitudeContext/index.d.ts +1 -1
  555. package/dist/contexts/amplitudeContext/index.js +1 -20
  556. package/dist/contexts/cdnContext/cdnContext.cjs +41 -0
  557. package/dist/contexts/cdnContext/cdnContext.d.cts +15 -0
  558. package/dist/contexts/cdnContext/cdnContext.d.ts +15 -0
  559. package/dist/contexts/cdnContext/cdnContext.js +38 -0
  560. package/dist/contexts/cdnContext/index.cjs +1 -4
  561. package/dist/contexts/cdnContext/index.d.cts +2 -15
  562. package/dist/contexts/cdnContext/index.d.ts +2 -15
  563. package/dist/contexts/cdnContext/index.js +1 -4
  564. package/dist/contexts/chatContext/chatContext.cjs +306 -0
  565. package/dist/contexts/chatContext/chatContext.d.cts +15 -0
  566. package/dist/contexts/chatContext/chatContext.d.ts +15 -0
  567. package/dist/contexts/chatContext/chatContext.js +304 -0
  568. package/dist/contexts/chatContext/index.cjs +3 -330
  569. package/dist/contexts/chatContext/index.d.cts +2 -15
  570. package/dist/contexts/chatContext/index.d.ts +2 -15
  571. package/dist/contexts/chatContext/index.js +2 -323
  572. package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +48 -0
  573. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +29 -0
  574. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +29 -0
  575. package/dist/contexts/enviveConfigContext/enviveConfigContext.js +45 -0
  576. package/dist/contexts/enviveConfigContext/index.cjs +1 -4
  577. package/dist/contexts/enviveConfigContext/index.d.cts +2 -30
  578. package/dist/contexts/enviveConfigContext/index.d.ts +2 -30
  579. package/dist/contexts/enviveConfigContext/index.js +1 -4
  580. package/dist/contexts/enviveCssContext/enviveCssContext.cjs +49 -0
  581. package/dist/contexts/enviveCssContext/enviveCssContext.d.cts +10 -0
  582. package/dist/contexts/enviveCssContext/enviveCssContext.d.ts +10 -0
  583. package/dist/contexts/enviveCssContext/enviveCssContext.js +47 -0
  584. package/dist/contexts/enviveCssContext/index.cjs +2 -65
  585. package/dist/contexts/enviveCssContext/index.d.cts +2 -10
  586. package/dist/contexts/enviveCssContext/index.d.ts +2 -10
  587. package/dist/contexts/enviveCssContext/index.js +2 -62
  588. package/dist/contexts/featureFlagContext/featureFlagContext.cjs +105 -0
  589. package/dist/contexts/featureFlagContext/featureFlagContext.d.cts +19 -0
  590. package/dist/contexts/featureFlagContext/featureFlagContext.d.ts +19 -0
  591. package/dist/contexts/featureFlagContext/featureFlagContext.js +102 -0
  592. package/dist/contexts/featureFlagContext/index.cjs +3 -106
  593. package/dist/contexts/featureFlagContext/index.d.cts +2 -20
  594. package/dist/contexts/featureFlagContext/index.d.ts +2 -20
  595. package/dist/contexts/featureFlagContext/index.js +2 -102
  596. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +46 -0
  597. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +24 -0
  598. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +24 -0
  599. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +42 -0
  600. package/dist/contexts/featureFlagServiceContext/index.cjs +1 -3
  601. package/dist/contexts/featureFlagServiceContext/index.d.cts +1 -4
  602. package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -4
  603. package/dist/contexts/featureFlagServiceContext/index.js +1 -3
  604. package/dist/contexts/graphqlContext/graphqlContext.cjs +99 -0
  605. package/dist/contexts/graphqlContext/graphqlContext.d.cts +29 -0
  606. package/dist/contexts/graphqlContext/graphqlContext.d.ts +29 -0
  607. package/dist/contexts/graphqlContext/graphqlContext.js +96 -0
  608. package/dist/contexts/graphqlContext/index.cjs +1 -13
  609. package/dist/contexts/graphqlContext/index.d.cts +1 -14
  610. package/dist/contexts/graphqlContext/index.d.ts +1 -14
  611. package/dist/contexts/graphqlContext/index.js +1 -13
  612. package/dist/contexts/localStorageContext/index.cjs +1 -2
  613. package/dist/contexts/localStorageContext/index.d.cts +2 -30
  614. package/dist/contexts/localStorageContext/index.d.ts +2 -30
  615. package/dist/contexts/localStorageContext/index.js +1 -2
  616. package/dist/contexts/localStorageContext/localStorageContext.cjs +99 -0
  617. package/dist/contexts/localStorageContext/localStorageContext.d.cts +25 -0
  618. package/dist/contexts/localStorageContext/localStorageContext.d.ts +25 -0
  619. package/dist/contexts/localStorageContext/localStorageContext.js +95 -0
  620. package/dist/contexts/newOrgConfigContext/index.cjs +1 -17
  621. package/dist/contexts/newOrgConfigContext/index.d.cts +1 -15
  622. package/dist/contexts/newOrgConfigContext/index.d.ts +1 -15
  623. package/dist/contexts/newOrgConfigContext/index.js +1 -17
  624. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +56 -0
  625. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.d.cts +16 -0
  626. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.d.ts +16 -0
  627. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +53 -0
  628. package/dist/contexts/searchContext/index.cjs +1 -21
  629. package/dist/contexts/searchContext/index.d.cts +2 -16
  630. package/dist/contexts/searchContext/index.d.ts +2 -16
  631. package/dist/contexts/searchContext/index.js +1 -21
  632. package/dist/contexts/searchContext/searchContext.cjs +132 -0
  633. package/dist/contexts/searchContext/searchContext.d.cts +15 -0
  634. package/dist/contexts/searchContext/searchContext.d.ts +15 -0
  635. package/dist/contexts/searchContext/searchContext.js +129 -0
  636. package/dist/contexts/sessionStorageContext/index.cjs +1 -2
  637. package/dist/contexts/sessionStorageContext/index.d.cts +2 -15
  638. package/dist/contexts/sessionStorageContext/index.d.ts +2 -15
  639. package/dist/contexts/sessionStorageContext/index.js +1 -2
  640. package/dist/contexts/sessionStorageContext/sessionStorageContext.cjs +55 -0
  641. package/dist/contexts/sessionStorageContext/sessionStorageContext.d.cts +15 -0
  642. package/dist/contexts/sessionStorageContext/sessionStorageContext.d.ts +15 -0
  643. package/dist/contexts/sessionStorageContext/sessionStorageContext.js +52 -0
  644. package/dist/contexts/shopifyUrlContext/index.cjs +1 -2
  645. package/dist/contexts/shopifyUrlContext/index.d.cts +2 -20
  646. package/dist/contexts/shopifyUrlContext/index.d.ts +2 -20
  647. package/dist/contexts/shopifyUrlContext/index.js +1 -2
  648. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.cjs +64 -0
  649. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.d.cts +18 -0
  650. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.d.ts +18 -0
  651. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.js +61 -0
  652. package/dist/contexts/systemSettingsContext/index.cjs +1 -4
  653. package/dist/contexts/systemSettingsContext/index.d.cts +2 -38
  654. package/dist/contexts/systemSettingsContext/index.d.ts +2 -38
  655. package/dist/contexts/systemSettingsContext/index.js +1 -4
  656. package/dist/contexts/systemSettingsContext/systemSettingsContext.cjs +42 -0
  657. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +27 -0
  658. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +27 -0
  659. package/dist/contexts/systemSettingsContext/systemSettingsContext.js +39 -0
  660. package/dist/contexts/types.cjs +56 -6
  661. package/dist/contexts/types.d.cts +696 -4
  662. package/dist/contexts/types.d.ts +696 -4
  663. package/dist/contexts/types.js +52 -2
  664. package/dist/contexts/userIdentityContext/index.cjs +1 -25
  665. package/dist/contexts/userIdentityContext/index.d.cts +1 -1
  666. package/dist/contexts/userIdentityContext/index.d.ts +1 -1
  667. package/dist/contexts/userIdentityContext/index.js +1 -25
  668. package/dist/contexts/userIdentityContext/userIdentityContext.cjs +131 -0
  669. package/dist/contexts/userIdentityContext/userIdentityContext.d.cts +20 -0
  670. package/dist/contexts/userIdentityContext/userIdentityContext.d.ts +20 -0
  671. package/dist/contexts/userIdentityContext/userIdentityContext.js +127 -0
  672. package/dist/events/event-types.cjs +18 -0
  673. package/dist/events/event-types.d.cts +15 -0
  674. package/dist/events/event-types.d.ts +15 -0
  675. package/dist/events/event-types.js +17 -0
  676. package/dist/events/index.cjs +65 -3
  677. package/dist/events/index.d.cts +4 -14
  678. package/dist/events/index.d.ts +4 -14
  679. package/dist/events/index.js +64 -2
  680. package/dist/hooks/AmplitudeOperations/index.cjs +1 -21
  681. package/dist/hooks/AmplitudeOperations/index.d.cts +2 -12
  682. package/dist/hooks/AmplitudeOperations/index.d.ts +2 -12
  683. package/dist/hooks/AmplitudeOperations/index.js +1 -21
  684. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.cjs +35 -0
  685. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.cts +12 -0
  686. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.ts +12 -0
  687. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.js +34 -0
  688. package/dist/hooks/AppDetails/index.cjs +1 -17
  689. package/dist/hooks/AppDetails/index.d.cts +2 -28
  690. package/dist/hooks/AppDetails/index.d.ts +2 -28
  691. package/dist/hooks/AppDetails/index.js +1 -17
  692. package/dist/hooks/AppDetails/useAppDetails.cjs +25 -0
  693. package/dist/hooks/AppDetails/useAppDetails.d.cts +17 -0
  694. package/dist/hooks/AppDetails/useAppDetails.d.ts +17 -0
  695. package/dist/hooks/AppDetails/useAppDetails.js +24 -0
  696. package/dist/hooks/BlockBackButton/index.cjs +2 -28
  697. package/dist/hooks/BlockBackButton/index.d.cts +2 -5
  698. package/dist/hooks/BlockBackButton/index.d.ts +2 -5
  699. package/dist/hooks/BlockBackButton/index.js +2 -26
  700. package/dist/hooks/BlockBackButton/useBlockBackButton.cjs +28 -0
  701. package/dist/hooks/BlockBackButton/useBlockBackButton.d.cts +5 -0
  702. package/dist/hooks/BlockBackButton/useBlockBackButton.d.ts +5 -0
  703. package/dist/hooks/BlockBackButton/useBlockBackButton.js +27 -0
  704. package/dist/hooks/CdnOperations/index.cjs +4 -23
  705. package/dist/hooks/CdnOperations/index.d.cts +2 -7
  706. package/dist/hooks/CdnOperations/index.d.ts +2 -7
  707. package/dist/hooks/CdnOperations/index.js +2 -21
  708. package/dist/hooks/CdnOperations/useCdnOperations.cjs +22 -0
  709. package/dist/hooks/CdnOperations/useCdnOperations.d.cts +7 -0
  710. package/dist/hooks/CdnOperations/useCdnOperations.d.ts +7 -0
  711. package/dist/hooks/CdnOperations/useCdnOperations.js +20 -0
  712. package/dist/hooks/ChatToggle/index.cjs +2 -64
  713. package/dist/hooks/ChatToggle/index.d.cts +2 -12
  714. package/dist/hooks/ChatToggle/index.d.ts +2 -12
  715. package/dist/hooks/ChatToggle/index.js +2 -62
  716. package/dist/hooks/ChatToggle/useChatToggle.cjs +45 -0
  717. package/dist/hooks/ChatToggle/useChatToggle.d.cts +12 -0
  718. package/dist/hooks/ChatToggle/useChatToggle.d.ts +12 -0
  719. package/dist/hooks/ChatToggle/useChatToggle.js +44 -0
  720. package/dist/hooks/ChatToggleAnalytics/index.cjs +2 -38
  721. package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -9
  722. package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -9
  723. package/dist/hooks/ChatToggleAnalytics/index.js +2 -36
  724. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.cjs +19 -0
  725. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.d.cts +9 -0
  726. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.d.ts +9 -0
  727. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.js +18 -0
  728. package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -35
  729. package/dist/hooks/CustomerSupportHandoff/index.d.cts +2 -16
  730. package/dist/hooks/CustomerSupportHandoff/index.d.ts +2 -16
  731. package/dist/hooks/CustomerSupportHandoff/index.js +2 -33
  732. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.cjs +35 -0
  733. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.d.cts +16 -0
  734. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.d.ts +16 -0
  735. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.js +34 -0
  736. package/dist/hooks/Debounce/index.cjs +2 -20
  737. package/dist/hooks/Debounce/index.d.cts +2 -5
  738. package/dist/hooks/Debounce/index.d.ts +2 -5
  739. package/dist/hooks/Debounce/index.js +2 -18
  740. package/dist/hooks/Debounce/useDebounce.cjs +20 -0
  741. package/dist/hooks/Debounce/useDebounce.d.cts +5 -0
  742. package/dist/hooks/Debounce/useDebounce.d.ts +5 -0
  743. package/dist/hooks/Debounce/useDebounce.js +19 -0
  744. package/dist/hooks/ElementObserver/index.cjs +2 -178
  745. package/dist/hooks/ElementObserver/index.d.cts +2 -29
  746. package/dist/hooks/ElementObserver/index.d.ts +2 -29
  747. package/dist/hooks/ElementObserver/index.js +2 -176
  748. package/dist/hooks/ElementObserver/useElementObserver.cjs +178 -0
  749. package/dist/hooks/ElementObserver/useElementObserver.d.cts +30 -0
  750. package/dist/hooks/ElementObserver/useElementObserver.d.ts +30 -0
  751. package/dist/hooks/ElementObserver/useElementObserver.js +177 -0
  752. package/dist/hooks/GrabAndScroll/index.cjs +2 -98
  753. package/dist/hooks/GrabAndScroll/index.d.cts +2 -14
  754. package/dist/hooks/GrabAndScroll/index.d.ts +2 -14
  755. package/dist/hooks/GrabAndScroll/index.js +2 -96
  756. package/dist/hooks/GrabAndScroll/useGrabAndScroll.cjs +96 -0
  757. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +14 -0
  758. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +14 -0
  759. package/dist/hooks/GrabAndScroll/useGrabAndScroll.js +95 -0
  760. package/dist/hooks/GraphQLConfig/index.cjs +1 -14
  761. package/dist/hooks/GraphQLConfig/index.d.cts +2 -29
  762. package/dist/hooks/GraphQLConfig/index.d.ts +2 -29
  763. package/dist/hooks/GraphQLConfig/index.js +1 -14
  764. package/dist/hooks/GraphQLConfig/useGraphQLConfig.cjs +63 -0
  765. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.cts +17 -0
  766. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.ts +17 -0
  767. package/dist/hooks/GraphQLConfig/useGraphQLConfig.js +61 -0
  768. package/dist/hooks/IdentifyUser/index.cjs +2 -60
  769. package/dist/hooks/IdentifyUser/index.d.cts +2 -10
  770. package/dist/hooks/IdentifyUser/index.d.ts +2 -10
  771. package/dist/hooks/IdentifyUser/index.js +2 -58
  772. package/dist/hooks/IdentifyUser/useIdentifyUser.cjs +35 -0
  773. package/dist/hooks/IdentifyUser/useIdentifyUser.d.cts +10 -0
  774. package/dist/hooks/IdentifyUser/useIdentifyUser.d.ts +10 -0
  775. package/dist/hooks/IdentifyUser/useIdentifyUser.js +34 -0
  776. package/dist/hooks/ImageResolver/index.cjs +2 -54
  777. package/dist/hooks/ImageResolver/index.d.cts +2 -7
  778. package/dist/hooks/ImageResolver/index.d.ts +2 -7
  779. package/dist/hooks/ImageResolver/index.js +2 -52
  780. package/dist/hooks/ImageResolver/useImageResolver.cjs +45 -0
  781. package/dist/hooks/ImageResolver/useImageResolver.d.cts +7 -0
  782. package/dist/hooks/ImageResolver/useImageResolver.d.ts +7 -0
  783. package/dist/hooks/ImageResolver/useImageResolver.js +44 -0
  784. package/dist/hooks/Intersection/index.cjs +1 -1
  785. package/dist/hooks/Intersection/index.d.cts +2 -7
  786. package/dist/hooks/Intersection/index.d.ts +2 -7
  787. package/dist/hooks/Intersection/index.js +1 -1
  788. package/dist/hooks/Intersection/useIntersection.cjs +22 -0
  789. package/dist/hooks/Intersection/useIntersection.d.cts +7 -0
  790. package/dist/hooks/Intersection/useIntersection.d.ts +7 -0
  791. package/dist/hooks/Intersection/useIntersection.js +21 -0
  792. package/dist/hooks/IsSmallScreen/index.cjs +2 -21
  793. package/dist/hooks/IsSmallScreen/index.d.cts +2 -5
  794. package/dist/hooks/IsSmallScreen/index.d.ts +2 -5
  795. package/dist/hooks/IsSmallScreen/index.js +2 -19
  796. package/dist/hooks/IsSmallScreen/useIsSmallScreen.cjs +21 -0
  797. package/dist/hooks/IsSmallScreen/useIsSmallScreen.d.cts +5 -0
  798. package/dist/hooks/IsSmallScreen/useIsSmallScreen.d.ts +5 -0
  799. package/dist/hooks/IsSmallScreen/useIsSmallScreen.js +20 -0
  800. package/dist/hooks/LocalStorageOperations/index.cjs +5 -78
  801. package/dist/hooks/LocalStorageOperations/index.d.cts +2 -17
  802. package/dist/hooks/LocalStorageOperations/index.d.ts +2 -17
  803. package/dist/hooks/LocalStorageOperations/index.js +2 -73
  804. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.cjs +77 -0
  805. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.d.cts +17 -0
  806. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.d.ts +17 -0
  807. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.js +73 -0
  808. package/dist/hooks/MessageFilter/index.cjs +2 -53
  809. package/dist/hooks/MessageFilter/index.d.cts +2 -31
  810. package/dist/hooks/MessageFilter/index.d.ts +2 -31
  811. package/dist/hooks/MessageFilter/index.js +2 -53
  812. package/dist/hooks/MessageFilter/useMessageFilter.cjs +43 -0
  813. package/dist/hooks/MessageFilter/useMessageFilter.d.cts +20 -0
  814. package/dist/hooks/MessageFilter/useMessageFilter.d.ts +20 -0
  815. package/dist/hooks/MessageFilter/useMessageFilter.js +43 -0
  816. package/dist/hooks/MessageScrollObserver/index.cjs +2 -35
  817. package/dist/hooks/MessageScrollObserver/index.d.cts +2 -5
  818. package/dist/hooks/MessageScrollObserver/index.d.ts +2 -5
  819. package/dist/hooks/MessageScrollObserver/index.js +2 -33
  820. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.cjs +33 -0
  821. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.d.cts +5 -0
  822. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.d.ts +5 -0
  823. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.js +32 -0
  824. package/dist/hooks/NewOrgConfig/index.cjs +2 -19
  825. package/dist/hooks/NewOrgConfig/index.d.cts +2 -21
  826. package/dist/hooks/NewOrgConfig/index.d.ts +2 -21
  827. package/dist/hooks/NewOrgConfig/index.js +1 -18
  828. package/dist/hooks/NewOrgConfig/useNewOrgConfig.cjs +10 -0
  829. package/dist/hooks/NewOrgConfig/useNewOrgConfig.d.cts +7 -0
  830. package/dist/hooks/NewOrgConfig/useNewOrgConfig.d.ts +7 -0
  831. package/dist/hooks/NewOrgConfig/useNewOrgConfig.js +10 -0
  832. package/dist/hooks/Search/index.cjs +2 -502
  833. package/dist/hooks/Search/index.d.cts +2 -72
  834. package/dist/hooks/Search/index.d.ts +2 -72
  835. package/dist/hooks/Search/index.js +2 -498
  836. package/dist/hooks/Search/useRecommendedProducts.cjs +41 -0
  837. package/dist/hooks/Search/useRecommendedProducts.js +40 -0
  838. package/dist/hooks/Search/useSearch.cjs +232 -0
  839. package/dist/hooks/Search/useSearch.d.cts +62 -0
  840. package/dist/hooks/Search/useSearch.d.ts +62 -0
  841. package/dist/hooks/Search/useSearch.js +231 -0
  842. package/dist/hooks/Search/useSearchInput.cjs +173 -0
  843. package/dist/hooks/Search/useSearchInput.js +171 -0
  844. package/dist/hooks/SearchOperations/index.cjs +3 -101
  845. package/dist/hooks/SearchOperations/index.d.cts +2 -22
  846. package/dist/hooks/SearchOperations/index.d.ts +2 -22
  847. package/dist/hooks/SearchOperations/index.js +2 -98
  848. package/dist/hooks/SearchOperations/useSearchOperations.cjs +77 -0
  849. package/dist/hooks/SearchOperations/useSearchOperations.d.cts +21 -0
  850. package/dist/hooks/SearchOperations/useSearchOperations.d.ts +21 -0
  851. package/dist/hooks/SearchOperations/useSearchOperations.js +75 -0
  852. package/dist/hooks/SessionStorageOperations/index.cjs +2 -29
  853. package/dist/hooks/SessionStorageOperations/index.d.cts +2 -8
  854. package/dist/hooks/SessionStorageOperations/index.d.ts +2 -8
  855. package/dist/hooks/SessionStorageOperations/index.js +2 -27
  856. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.cjs +28 -0
  857. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.d.cts +8 -0
  858. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.d.ts +8 -0
  859. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.js +27 -0
  860. package/dist/hooks/ShopifyUrlOperations/index.cjs +4 -52
  861. package/dist/hooks/ShopifyUrlOperations/index.d.cts +2 -23
  862. package/dist/hooks/ShopifyUrlOperations/index.d.ts +2 -23
  863. package/dist/hooks/ShopifyUrlOperations/index.js +2 -48
  864. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.cjs +51 -0
  865. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.cts +21 -0
  866. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.ts +21 -0
  867. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.js +48 -0
  868. package/dist/hooks/SnapCalculator/index.cjs +2 -28
  869. package/dist/hooks/SnapCalculator/index.d.cts +2 -12
  870. package/dist/hooks/SnapCalculator/index.d.ts +2 -12
  871. package/dist/hooks/SnapCalculator/index.js +2 -26
  872. package/dist/hooks/SnapCalculator/useSnapCalculator.cjs +28 -0
  873. package/dist/hooks/SnapCalculator/useSnapCalculator.d.cts +12 -0
  874. package/dist/hooks/SnapCalculator/useSnapCalculator.d.ts +12 -0
  875. package/dist/hooks/SnapCalculator/useSnapCalculator.js +27 -0
  876. package/dist/hooks/SystemSettingsContext/index.cjs +2 -6
  877. package/dist/hooks/SystemSettingsContext/index.d.cts +2 -24
  878. package/dist/hooks/SystemSettingsContext/index.d.ts +2 -24
  879. package/dist/hooks/SystemSettingsContext/index.js +1 -5
  880. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.cjs +15 -0
  881. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +13 -0
  882. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.ts +13 -0
  883. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.js +14 -0
  884. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +2 -22
  885. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +2 -18
  886. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +2 -18
  887. package/dist/hooks/TrackComponentVisibleEvent/index.js +1 -21
  888. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +53 -0
  889. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +18 -0
  890. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +18 -0
  891. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +52 -0
  892. package/dist/hooks/UpdateAnalyticsProps/index.cjs +2 -62
  893. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +2 -9
  894. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +2 -9
  895. package/dist/hooks/UpdateAnalyticsProps/index.js +2 -59
  896. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.cjs +44 -0
  897. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.d.cts +9 -0
  898. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.d.ts +9 -0
  899. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +43 -0
  900. package/dist/hooks/utils.cjs +97 -7
  901. package/dist/hooks/utils.d.cts +22 -14
  902. package/dist/hooks/utils.d.ts +22 -14
  903. package/dist/hooks/utils.js +91 -2
  904. package/dist/interceptors/index.cjs +1 -2
  905. package/dist/interceptors/index.d.cts +3 -21
  906. package/dist/interceptors/index.d.ts +3 -21
  907. package/dist/interceptors/index.js +1 -2
  908. package/dist/interceptors/types.cjs +0 -1
  909. package/dist/interceptors/types.d.cts +10 -14
  910. package/dist/interceptors/types.d.ts +10 -14
  911. package/dist/interceptors/types.js +0 -2
  912. package/dist/interceptors/useMessageInterceptor.cjs +26 -0
  913. package/dist/interceptors/useMessageInterceptor.d.cts +9 -0
  914. package/dist/interceptors/useMessageInterceptor.d.ts +9 -0
  915. package/dist/interceptors/useMessageInterceptor.js +25 -0
  916. package/dist/merchants/domInsertion.cjs +17 -0
  917. package/dist/merchants/domInsertion.d.cts +14 -0
  918. package/dist/merchants/domInsertion.d.ts +14 -0
  919. package/dist/merchants/domInsertion.js +16 -0
  920. package/dist/merchants/gridInsertion.cjs +24 -0
  921. package/dist/merchants/gridInsertion.d.cts +21 -0
  922. package/dist/merchants/gridInsertion.d.ts +21 -0
  923. package/dist/merchants/gridInsertion.js +23 -0
  924. package/dist/types/OrgInfo.d.cts +13 -0
  925. package/dist/types/OrgInfo.d.ts +13 -0
  926. package/dist/types/config-versions.cjs +8 -0
  927. package/dist/types/config-versions.js +8 -0
  928. package/dist/types/customerService.d.cts +22 -0
  929. package/dist/types/customerService.d.ts +24 -0
  930. package/dist/types/custservice-types.cjs +25 -0
  931. package/dist/types/custservice-types.d.cts +29 -0
  932. package/dist/types/custservice-types.d.ts +29 -0
  933. package/dist/types/custservice-types.js +23 -0
  934. package/dist/types/exceptions/sessionExceptions.cjs +12 -0
  935. package/dist/types/exceptions/sessionExceptions.js +11 -0
  936. package/dist/types/exceptions/unsupportedProductExceptions.cjs +12 -0
  937. package/dist/types/exceptions/unsupportedProductExceptions.js +11 -0
  938. package/dist/types/index.cjs +5 -33
  939. package/dist/types/index.d.cts +6 -3
  940. package/dist/types/index.d.ts +6 -3
  941. package/dist/types/index.js +3 -30
  942. package/dist/types/search-filter-types.d.cts +102 -0
  943. package/dist/types/search-filter-types.d.ts +102 -0
  944. package/dist/types/suggestionBarV2-types.cjs +11 -0
  945. package/dist/types/suggestionBarV2-types.d.cts +8 -0
  946. package/dist/types/suggestionBarV2-types.d.ts +8 -0
  947. package/dist/types/suggestionBarV2-types.js +10 -0
  948. package/dist/types/test-types.d.cts +7 -0
  949. package/dist/types/test-types.d.ts +7 -0
  950. package/package.json +4 -5
  951. package/src/application/commerce-api.ts +123 -176
  952. package/src/application/logging/logger.ts +2 -10
  953. package/src/application/models/api/orgConfigResults.ts +4 -4
  954. package/src/application/models/cachedValue.ts +1 -3
  955. package/src/application/models/clientDetails.ts +1 -3
  956. package/src/application/models/colorsConfig.ts +18 -18
  957. package/src/application/models/frontendConfig.ts +2 -2
  958. package/src/application/models/googleAnalyticsEvents.ts +1 -3
  959. package/src/application/models/graphql/index.ts +1 -1
  960. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -1
  961. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -1
  962. package/src/application/models/guards/api/isApiOrgConfigResults.ts +3 -3
  963. package/src/application/models/guards/api/isApiOrganizationConfig.ts +1 -4
  964. package/src/application/models/guards/api/isApiProductResponseAttributes.ts +1 -3
  965. package/src/application/models/guards/api/isApiReviewRichInformation.ts +2 -2
  966. package/src/application/models/guards/api/isApiSearchEventAttributes.ts +1 -1
  967. package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
  968. package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +1 -1
  969. package/src/application/models/index.ts +87 -87
  970. package/src/application/models/spanxTakeAQuizCtaParameter.ts +1 -1
  971. package/src/application/models/spiffyWidgets.ts +0 -1
  972. package/src/application/models/utils/snakeToCamelTransformer.ts +10 -10
  973. package/src/application/models/validators/validateGraphQLColorsConfig.ts +3 -5
  974. package/src/application/models/validators/validateOrgConfigResults.ts +3 -3
  975. package/src/application/models/validators/validateResponse.ts +1 -1
  976. package/src/application/utils/analyticsUtils.ts +17 -33
  977. package/src/application/utils/cdnUtils.ts +4 -7
  978. package/src/application/utils/domObserver.ts +8 -8
  979. package/src/application/utils/elementObserver.ts +3 -3
  980. package/src/application/utils/imageFilter.ts +9 -6
  981. package/src/application/utils/index.ts +21 -21
  982. package/src/application/utils/merchantUtils.ts +8 -8
  983. package/src/application/utils/messageFromSuggestionEvent.ts +1 -1
  984. package/src/application/utils/mutationHelper.ts +3 -3
  985. package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
  986. package/src/application/utils/stringUtils.ts +0 -2
  987. package/src/application/utils/urlsParser.ts +1 -1
  988. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +5 -5
  989. package/src/atoms/app/index.ts +21 -26
  990. package/src/atoms/app/variant.ts +8 -8
  991. package/src/atoms/atomStore/index.ts +1 -1
  992. package/src/atoms/chat/chatState.ts +9 -19
  993. package/src/atoms/chat/index.ts +1 -1
  994. package/src/atoms/chat/lastMessage.ts +1 -1
  995. package/src/atoms/chat/messageQueue.ts +27 -52
  996. package/src/atoms/chat/performanceMetrics.ts +38 -51
  997. package/src/atoms/chat/renderedWidgetRefs.ts +3 -3
  998. package/src/atoms/chat/replies.ts +40 -43
  999. package/src/atoms/envive/enviveConfig.ts +27 -32
  1000. package/src/atoms/globalSearch/index.ts +1 -1
  1001. package/src/atoms/org/customerService.ts +4 -8
  1002. package/src/atoms/org/graphqlConfig.ts +10 -16
  1003. package/src/atoms/org/index.ts +4 -4
  1004. package/src/atoms/org/newOrgConfigAtom.ts +2 -2
  1005. package/src/atoms/org/orgAnalyticsConfig.ts +4 -4
  1006. package/src/atoms/search/chatSearch.ts +74 -101
  1007. package/src/atoms/search/productFilters.ts +15 -15
  1008. package/src/atoms/search/productRetrievalAPI.ts +9 -11
  1009. package/src/atoms/search/productRetrievalAdapter.ts +4 -4
  1010. package/src/atoms/search/searchAPI.ts +46 -64
  1011. package/src/atoms/search/searchServiceAdapter.ts +4 -8
  1012. package/src/atoms/search/types.ts +2 -2
  1013. package/src/atoms/search/utils.ts +1 -1
  1014. package/src/config/divIds.ts +8 -4
  1015. package/src/config/index.ts +1 -1
  1016. package/src/config/locators/components/chat/variants/index.ts +12 -13
  1017. package/src/config/locators/components/floating-button.ts +2 -2
  1018. package/src/config/locators/components/shadow-dom.ts +1 -1
  1019. package/src/config/locators/embedded.ts +2 -1
  1020. package/src/config/socialProofClasses.ts +9 -14
  1021. package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +107 -122
  1022. package/src/contexts/amplitudeContext/amplitudeContext.tsx +112 -143
  1023. package/src/contexts/amplitudeContext/index.ts +1 -1
  1024. package/src/contexts/cdnContext/cdnContext.tsx +8 -10
  1025. package/src/contexts/cdnContext/index.ts +1 -1
  1026. package/src/contexts/chatContext/chatContext.tsx +77 -123
  1027. package/src/contexts/chatContext/index.ts +1 -1
  1028. package/src/contexts/enviveConfigContext/__tests__/enviveConfigContext.test.tsx +125 -153
  1029. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +7 -7
  1030. package/src/contexts/enviveConfigContext/index.ts +1 -1
  1031. package/src/contexts/enviveCssContext/enviveCssContext.tsx +4 -8
  1032. package/src/contexts/enviveCssContext/index.ts +1 -1
  1033. package/src/contexts/featureFlagContext/featureFlagContext.tsx +28 -41
  1034. package/src/contexts/featureFlagContext/index.ts +1 -1
  1035. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +15 -25
  1036. package/src/contexts/featureFlagServiceContext/index.ts +1 -1
  1037. package/src/contexts/graphqlContext/__tests__/graphqlContext.test.tsx +142 -170
  1038. package/src/contexts/graphqlContext/graphqlContext.tsx +40 -60
  1039. package/src/contexts/graphqlContext/index.ts +1 -1
  1040. package/src/contexts/localStorageContext/__tests__/localStorageContext.test.tsx +155 -161
  1041. package/src/contexts/localStorageContext/index.ts +1 -1
  1042. package/src/contexts/localStorageContext/localStorageContext.tsx +25 -47
  1043. package/src/contexts/newOrgConfigContext/__tests__/newOrgConfigContext.test.tsx +119 -153
  1044. package/src/contexts/newOrgConfigContext/index.ts +1 -1
  1045. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +11 -17
  1046. package/src/contexts/searchContext/__tests__/searchContext.test.tsx +290 -227
  1047. package/src/contexts/searchContext/index.ts +1 -1
  1048. package/src/contexts/searchContext/searchContext.tsx +31 -45
  1049. package/src/contexts/sessionStorageContext/index.ts +1 -1
  1050. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +11 -27
  1051. package/src/contexts/shopifyUrlContext/index.ts +1 -1
  1052. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +21 -30
  1053. package/src/contexts/systemSettingsContext/__tests__/systemSettingsContext.test.tsx +130 -133
  1054. package/src/contexts/systemSettingsContext/index.ts +1 -1
  1055. package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +8 -21
  1056. package/src/contexts/types.ts +166 -221
  1057. package/src/contexts/userIdentityContext/__tests__/userIdentityContext.test.tsx +116 -130
  1058. package/src/contexts/userIdentityContext/index.ts +1 -1
  1059. package/src/contexts/userIdentityContext/userIdentityContext.tsx +29 -64
  1060. package/src/events/index.ts +7 -3
  1061. package/src/events/registerAnalyticsListeners.ts +10 -13
  1062. package/src/hooks/AmplitudeOperations/index.ts +1 -1
  1063. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +5 -8
  1064. package/src/hooks/AppDetails/index.ts +1 -1
  1065. package/src/hooks/AppDetails/useAppDetails.ts +10 -14
  1066. package/src/hooks/BlockBackButton/index.ts +1 -1
  1067. package/src/hooks/BlockBackButton/useBlockBackButton.ts +10 -13
  1068. package/src/hooks/CdnOperations/index.ts +1 -1
  1069. package/src/hooks/CdnOperations/useCdnOperations.ts +1 -1
  1070. package/src/hooks/ChatToggle/index.ts +1 -1
  1071. package/src/hooks/ChatToggle/useChatToggle.ts +7 -16
  1072. package/src/hooks/ChatToggleAnalytics/index.ts +1 -1
  1073. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
  1074. package/src/hooks/CustomerSupportHandoff/index.ts +1 -1
  1075. package/src/hooks/Debounce/index.ts +1 -1
  1076. package/src/hooks/ElementObserver/index.ts +1 -1
  1077. package/src/hooks/GrabAndScroll/index.ts +1 -1
  1078. package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +131 -119
  1079. package/src/hooks/GraphQLConfig/index.ts +1 -1
  1080. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +4 -7
  1081. package/src/hooks/IdentifyUser/index.ts +1 -1
  1082. package/src/hooks/IdentifyUser/useIdentifyUser.ts +4 -8
  1083. package/src/hooks/ImageResolver/index.ts +1 -1
  1084. package/src/hooks/ImageResolver/useImageResolver.ts +7 -16
  1085. package/src/hooks/Intersection/index.ts +1 -1
  1086. package/src/hooks/IsSmallScreen/index.ts +1 -1
  1087. package/src/hooks/LocalStorageOperations/index.ts +1 -1
  1088. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +12 -19
  1089. package/src/hooks/MessageFilter/index.ts +1 -1
  1090. package/src/hooks/MessageFilter/useMessageFilter.ts +1 -1
  1091. package/src/hooks/MessageScrollObserver/index.ts +1 -1
  1092. package/src/hooks/MessageScrollObserver/useMessageScrollObserver.ts +35 -37
  1093. package/src/hooks/NewOrgConfig/index.ts +1 -1
  1094. package/src/hooks/NewOrgConfig/useNewOrgConfig.ts +1 -1
  1095. package/src/hooks/Search/__tests__/useSearch.test.tsx +214 -247
  1096. package/src/hooks/Search/index.ts +1 -1
  1097. package/src/hooks/Search/useRecommendedProducts.ts +27 -33
  1098. package/src/hooks/Search/useSearch.tsx +65 -53
  1099. package/src/hooks/Search/useSearchInput.ts +23 -33
  1100. package/src/hooks/SearchOperations/index.ts +1 -1
  1101. package/src/hooks/SearchOperations/useSearchOperations.ts +8 -12
  1102. package/src/hooks/SessionStorageOperations/index.ts +1 -1
  1103. package/src/hooks/SessionStorageOperations/useSessionStorageOperations.ts +5 -5
  1104. package/src/hooks/ShopifyUrlOperations/index.ts +1 -1
  1105. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +8 -14
  1106. package/src/hooks/SnapCalculator/index.ts +1 -1
  1107. package/src/hooks/SnapCalculator/useSnapCalculator.ts +1 -1
  1108. package/src/hooks/SystemSettingsContext/index.ts +1 -1
  1109. package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +3 -5
  1110. package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -1
  1111. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +6 -6
  1112. package/src/hooks/UpdateAnalyticsProps/index.ts +1 -1
  1113. package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +10 -22
  1114. package/src/hooks/utils.ts +20 -29
  1115. package/src/interceptors/index.ts +2 -2
  1116. package/src/interceptors/useMessageInterceptor.ts +4 -4
  1117. package/src/merchants/domInsertion.ts +13 -15
  1118. package/src/merchants/gridInsertion.ts +15 -15
  1119. package/src/types/FilterAttribute.ts +7 -10
  1120. package/src/{types.ts → types/OrgInfo.ts} +1 -3
  1121. package/src/types/config-versions.ts +2 -4
  1122. package/src/types/customerService.ts +15 -15
  1123. package/src/types/custservice-types.ts +2 -2
  1124. package/src/types/exceptions/unsupportedProductExceptions.ts +1 -1
  1125. package/src/types/index.ts +5 -4
  1126. package/src/types/search-filter-types.ts +2 -2
  1127. package/src/types/suggestionBarV2-types.ts +3 -3
  1128. package/dist/AmplitudeOperations-C-ieCm9m.js +0 -1
  1129. package/dist/AmplitudeOperations-p7APchq9.cjs +0 -0
  1130. package/dist/NewOrgConfig-Ch7rrfDH.js +0 -10
  1131. package/dist/NewOrgConfig-D9hNf1kf.cjs +0 -15
  1132. package/dist/SystemSettingsContext-BEDKzEGs.js +0 -13
  1133. package/dist/SystemSettingsContext-SsZBLhYl.cjs +0 -20
  1134. package/dist/TrackComponentVisibleEvent-C04P7hRs.js +0 -52
  1135. package/dist/TrackComponentVisibleEvent-CypK1zy3.cjs +0 -59
  1136. package/dist/amplitudeContext-BlCtIx5s.js +0 -268
  1137. package/dist/amplitudeContext-BmuAesXk.cjs +0 -290
  1138. package/dist/amplitudeContext-CCVyp5RU.d.cts +0 -52
  1139. package/dist/amplitudeContext-DbicJUzl.js +0 -1
  1140. package/dist/amplitudeContext-DcRur97Z.d.ts +0 -52
  1141. package/dist/amplitudeContext-q3mggFSE.cjs +0 -0
  1142. package/dist/api-BvygKEiX.cjs +0 -239
  1143. package/dist/api-bHEYmSiT.js +0 -166
  1144. package/dist/app-Aqkm_SlS.js +0 -110
  1145. package/dist/app-BQw_-JGl.cjs +0 -156
  1146. package/dist/atomStore-CmZbgQHc.cjs +0 -58
  1147. package/dist/atomStore-DEcDhiLp.js +0 -32
  1148. package/dist/cdnContext-CU9G_o-7.js +0 -38
  1149. package/dist/cdnContext-Cjj2MuO-.cjs +0 -53
  1150. package/dist/chat-Bxd6htvi.js +0 -258
  1151. package/dist/chat-ClvJ9xEj.js +0 -25
  1152. package/dist/chat-DCGriB7h.cjs +0 -145
  1153. package/dist/chat-RYAkvBFh.cjs +0 -400
  1154. package/dist/chatElementDisplayLocation-BO3fY4hq.d.ts +0 -26
  1155. package/dist/chatElementDisplayLocation-Igta1TL1.d.cts +0 -26
  1156. package/dist/chatSearch-BGLT3jWO.js +0 -295
  1157. package/dist/chatSearch-Bqv73Oy0.cjs +0 -418
  1158. package/dist/chatState-C8aDBHkl.js +0 -34
  1159. package/dist/chatState-CACif3VJ.cjs +0 -120
  1160. package/dist/commerce-api-B7smzE4o.cjs +0 -319
  1161. package/dist/commerce-api-BSbzeNTu.js +0 -312
  1162. package/dist/common-DQPvV_S_.cjs +0 -189
  1163. package/dist/common-c_4eX0qn.js +0 -39
  1164. package/dist/components-CDpaMUjK.js +0 -11
  1165. package/dist/components-DKwVHIjq.cjs +0 -29
  1166. package/dist/domObserver-COKvTfZV.cjs +0 -304
  1167. package/dist/domObserver-DEiUh0qg.js +0 -285
  1168. package/dist/enviveConfig-B42OJ8bK.cjs +0 -130
  1169. package/dist/enviveConfig-BlIkxiAF.js +0 -62
  1170. package/dist/enviveConfigContext-1_EivtCa.js +0 -45
  1171. package/dist/enviveConfigContext-Y1ahEAMe.cjs +0 -60
  1172. package/dist/events-DYY4l817.cjs +0 -90
  1173. package/dist/events-DyUix-Bn.js +0 -78
  1174. package/dist/featureFlagServiceContext-CAPrb4e_.js +0 -42
  1175. package/dist/featureFlagServiceContext-CPqbnfe3.d.cts +0 -23
  1176. package/dist/featureFlagServiceContext-D3Ge8GH5.cjs +0 -62
  1177. package/dist/featureFlagServiceContext-mFEI_SIk.d.ts +0 -23
  1178. package/dist/featureGates-Bt_Y3kZ7.cjs +0 -32
  1179. package/dist/featureGates-D4Me_IZH.js +0 -26
  1180. package/dist/frontendConfig-DPpzM5cz.d.cts +0 -860
  1181. package/dist/frontendConfig-msK69LYN.d.ts +0 -860
  1182. package/dist/globalSearch-BOG3wmck.cjs +0 -39
  1183. package/dist/globalSearch-BQEX-2Ml.js +0 -14
  1184. package/dist/graphql-CbI_HNEp.js +0 -48
  1185. package/dist/graphql-Cqoo1D4M.cjs +0 -71
  1186. package/dist/graphqlConfig-BnfE0ql5.cjs +0 -39
  1187. package/dist/graphqlConfig-CZGjJ8hP.js +0 -14
  1188. package/dist/graphqlContext-1BkFjchL.d.cts +0 -28
  1189. package/dist/graphqlContext-B1vmNkWT.d.ts +0 -28
  1190. package/dist/graphqlContext-CIeJ0GDP.cjs +0 -111
  1191. package/dist/graphqlContext-CoU6L9PE.js +0 -96
  1192. package/dist/index--9_c4tze.d.ts +0 -9
  1193. package/dist/index-A0HvA68Y.d.cts +0 -1
  1194. package/dist/index-BEpDGqnz.d.cts +0 -41
  1195. package/dist/index-BNHIIgYk.d.ts +0 -24
  1196. package/dist/index-BVsXKN48.d.ts +0 -186
  1197. package/dist/index-Bb3zXP0P.d.ts +0 -673
  1198. package/dist/index-CCboEuTO.d.cts +0 -24
  1199. package/dist/index-CESxqFso.d.cts +0 -228
  1200. package/dist/index-D7htGSQC.d.ts +0 -44
  1201. package/dist/index-DM_5fh8c.d.ts +0 -101
  1202. package/dist/index-DNVvRcKu.d.ts +0 -1
  1203. package/dist/index-DU7uw0ba.d.cts +0 -101
  1204. package/dist/index-DUrfTeD5.d.cts +0 -186
  1205. package/dist/index-DXTWZLEm.d.cts +0 -673
  1206. package/dist/index-DZtnHhlr.d.cts +0 -9
  1207. package/dist/index-Dtw-hJdt.d.ts +0 -35
  1208. package/dist/index-Dxpscrvz.d.ts +0 -228
  1209. package/dist/index-ErVcwUnR.d.ts +0 -41
  1210. package/dist/index-OkKEOL6H.d.cts +0 -44
  1211. package/dist/index-hAqp0oYb.d.cts +0 -35
  1212. package/dist/localStorageContext-C5giszHn.cjs +0 -115
  1213. package/dist/localStorageContext-DAOJ4be4.js +0 -95
  1214. package/dist/locators-DxYdak1F.cjs +0 -131
  1215. package/dist/logger-0D_8Ip2L.cjs +0 -26
  1216. package/dist/logger-Co0IA3k5.js +0 -20
  1217. package/dist/models-C9_O47X4.js +0 -1286
  1218. package/dist/models-DRGfA-sZ.cjs +0 -1521
  1219. package/dist/newOrgConfigAtom-CPA6Gp6n.cjs +0 -15
  1220. package/dist/newOrgConfigAtom-DEUj6H-p.js +0 -8
  1221. package/dist/newOrgConfigContext-CmQ-7Trc.d.ts +0 -16
  1222. package/dist/newOrgConfigContext-Deofb8_o.d.cts +0 -16
  1223. package/dist/newOrgConfigContext-DsAwdL0_.js +0 -53
  1224. package/dist/newOrgConfigContext-eP_nDi0L.cjs +0 -68
  1225. package/dist/nodeSelector-B5NfnUHv.d.ts +0 -31
  1226. package/dist/nodeSelector-vKB44CDB.d.cts +0 -31
  1227. package/dist/org-B_cWn2bt.cjs +0 -43
  1228. package/dist/org-h32_LSEb.js +0 -12
  1229. package/dist/orgAnalyticsConfig-Bm23fw4s.cjs +0 -39
  1230. package/dist/orgAnalyticsConfig-CpBmga08.js +0 -14
  1231. package/dist/responseGenerics-D9bS-Dd6.d.ts +0 -148
  1232. package/dist/responseGenerics-DWLV09cQ.d.cts +0 -148
  1233. package/dist/search-Bxfp3AFT.js +0 -126
  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/search-tl23J__F.cjs +0 -205
  1237. package/dist/searchContext-C-HQBmeN.cjs +0 -145
  1238. package/dist/searchContext-CRvkE-WU.js +0 -129
  1239. package/dist/searchServiceAdapter-BGlvoZFE.cjs +0 -34
  1240. package/dist/searchServiceAdapter-Db6jEcJs.js +0 -16
  1241. package/dist/sessionStorageContext-BUXBfp0L.js +0 -52
  1242. package/dist/sessionStorageContext-Da06rhJB.cjs +0 -66
  1243. package/dist/shopifyUrlContext-DaQ9rbqf.js +0 -61
  1244. package/dist/shopifyUrlContext-oIgAbTOi.cjs +0 -75
  1245. package/dist/spiffyWidgets-DK7Ekcy7.d.cts +0 -21
  1246. package/dist/spiffyWidgets-MTUAQq_u.d.ts +0 -21
  1247. package/dist/systemSettingsContext-BlaM8-wy.js +0 -39
  1248. package/dist/systemSettingsContext-CTVhmhcx.cjs +0 -60
  1249. package/dist/test-types-BEml_bm3.d.ts +0 -40
  1250. package/dist/test-types-Dsu8RJZu.d.cts +0 -40
  1251. package/dist/types-4LQ7LUCk.d.ts +0 -10
  1252. package/dist/types-BegmH0S1.d.ts +0 -60
  1253. package/dist/types-BuvXXGxE.cjs +0 -48
  1254. package/dist/types-CKPddlfS.cjs +0 -0
  1255. package/dist/types-CtUb63bt.js +0 -76
  1256. package/dist/types-DFsSqmWx.d.cts +0 -10
  1257. package/dist/types-DWorwfS-.d.cts +0 -60
  1258. package/dist/types-DXnG1tV0.js +0 -30
  1259. package/dist/types-Dc6hx6ei.js +0 -1
  1260. package/dist/types-UUvB6h05.cjs +0 -106
  1261. package/dist/types.cjs +0 -0
  1262. package/dist/types.d.cts +0 -15
  1263. package/dist/types.d.ts +0 -15
  1264. package/dist/types.js +0 -1
  1265. package/dist/unsupportedProductExceptions-DGENUnEA.cjs +0 -32
  1266. package/dist/unsupportedProductExceptions-uQuuelOs.js +0 -20
  1267. package/dist/urlsParser-DLCzibqU.js +0 -42
  1268. package/dist/urlsParser-DhcEZLc_.cjs +0 -78
  1269. package/dist/useAmplitudeOperations-DvnS1WZZ.cjs +0 -41
  1270. package/dist/useAmplitudeOperations-Z6Jguzf_.js +0 -34
  1271. package/dist/useAppDetails-BqJdML4I.cjs +0 -38
  1272. package/dist/useAppDetails-DBFaMyZB.js +0 -30
  1273. package/dist/useGraphQLConfig-BBiJnTYh.js +0 -63
  1274. package/dist/useGraphQLConfig-CV43KcMj.cjs +0 -76
  1275. package/dist/useIntersection-CZSEBUbv.js +0 -21
  1276. package/dist/useIntersection-DSDREfj6.cjs +0 -28
  1277. package/dist/useMessageInterceptor-BjGP_uXm.js +0 -25
  1278. package/dist/useMessageInterceptor-arAqUq1Q.cjs +0 -33
  1279. package/dist/userIdentityContext-BCW4iWmh.cjs +0 -143
  1280. package/dist/userIdentityContext-BhK_ukpI.js +0 -126
  1281. package/dist/userIdentityContext-C6kApbuk.d.ts +0 -20
  1282. package/dist/userIdentityContext-kU1PIo8K.d.cts +0 -20
  1283. package/dist/utilityTypes-B2KuRn37.js +0 -1
  1284. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  1285. package/dist/utils-BRkGP1eb.d.ts +0 -15
  1286. package/dist/utils-C2HshI4X.d.cts +0 -22
  1287. package/dist/utils-C4ci_t0-.js +0 -27
  1288. package/dist/utils-C6imnLBo.cjs +0 -33
  1289. package/dist/utils-CmGOtSiO.js +0 -606
  1290. package/dist/utils-CvLmSsUj.cjs +0 -29
  1291. package/dist/utils-D82gfbgU.js +0 -23
  1292. package/dist/utils-DCrwX6FT.d.cts +0 -15
  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
  1296. package/dist/utils-oPSGYptn.cjs +0 -715
@@ -1,319 +0,0 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_logger = require('./logger-0D_8Ip2L.cjs');
3
- const require_models = require('./models-DRGfA-sZ.cjs');
4
- const require_enviveConfig = require('./enviveConfig-B42OJ8bK.cjs');
5
- const require_atomStore = require('./atomStore-CmZbgQHc.cjs');
6
- const require_app = require('./app-BQw_-JGl.cjs');
7
- const require_utils = require('./utils-oPSGYptn.cjs');
8
- const require_graphqlConfig = require('./graphqlConfig-BnfE0ql5.cjs');
9
- const require_unsupportedProductExceptions = require('./unsupportedProductExceptions-DGENUnEA.cjs');
10
- let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
11
- __spiffy_ai_commerce_api_client = require_chunk.__toESM(__spiffy_ai_commerce_api_client);
12
-
13
- //#region src/application/commerce-api.ts
14
- async function errorResponseBody(error) {
15
- try {
16
- return await error.response.json();
17
- } catch {
18
- return {};
19
- }
20
- }
21
- async function throwSessionRestartRequiredIf(errorMsg, error) {
22
- if (!(error instanceof __spiffy_ai_commerce_api_client.ResponseError)) {
23
- require_logger.logger_default.logInfo(errorMsg, error);
24
- throw error;
25
- }
26
- const errorResponse = await errorResponseBody(error);
27
- if (errorResponse?.message?.toLowerCase() === "unsupported product" || errorResponse?.app_code?.toUpperCase() === "PRODUCT_NOT_FOUND") throw new require_unsupportedProductExceptions.UnsupportedProductException();
28
- else if (errorResponse?.app_code?.toUpperCase() === "RESTART_SESSION" || errorResponse?.sub_code?.toUpperCase() === "NOT_FOUND") {
29
- require_logger.logger_default.logInfo("Session does not exist. Re-start session", error, error.response, errorResponse);
30
- throw new require_unsupportedProductExceptions.SessionRestartRequired();
31
- }
32
- require_logger.logger_default.logInfo(errorMsg, error);
33
- throw error;
34
- }
35
- var CommerceApiClient = class CommerceApiClient {
36
- static {
37
- this.getInstance = () => {
38
- if (!CommerceApiClient.instance) CommerceApiClient.instance = new CommerceApiClient();
39
- return CommerceApiClient.instance;
40
- };
41
- }
42
- constructor(basePath) {
43
- this.suggestionsAbortController = new AbortController();
44
- this.responsesAbortController = new AbortController();
45
- const baseUrl = require_atomStore.getAtomStore().get(require_enviveConfig.baseUrlAtom);
46
- const config = new __spiffy_ai_commerce_api_client.Configuration({
47
- basePath: basePath || baseUrl,
48
- headers: {
49
- "Content-Type": "application/json",
50
- Accept: "application/json"
51
- }
52
- });
53
- this.defaultApi = new __spiffy_ai_commerce_api_client.DefaultApi(config);
54
- this.inferenceApi = new __spiffy_ai_commerce_api_client.InferenceApi(config);
55
- this.customerServiceApi = new __spiffy_ai_commerce_api_client.CustomerServiceApi(config);
56
- }
57
- static {
58
- this.resolveUrl = async (url) => {
59
- const atomStore = require_atomStore.getAtomStore();
60
- const orgShortName = atomStore.get(require_enviveConfig.orgShortNameAtom);
61
- const orgId = atomStore.get(require_graphqlConfig.orgIdAtom);
62
- const userId = atomStore.get(require_app.userIdAtom);
63
- const chatId = atomStore.get(require_app.chatIdAtom);
64
- const source = atomStore.get(require_enviveConfig.contextSourceAtom);
65
- const env = atomStore.get(require_enviveConfig.envAtom);
66
- const featureFlagService = atomStore.get(require_graphqlConfig.featureFlagServiceAtom);
67
- const context = {
68
- user_id: userId ?? "",
69
- org_id: orgId ?? "",
70
- org_short_name: orgShortName ?? "",
71
- chat_id: chatId ?? "",
72
- source: source ?? __spiffy_ai_commerce_api_client.ContextSourceEnum.App,
73
- env: env ?? __spiffy_ai_commerce_api_client.ContextEnvEnum.Dev
74
- };
75
- const featureGates = featureFlagService?.featureFlagService?.getFeatureFlags() || {};
76
- const urlResolvingRequest = {
77
- url,
78
- context,
79
- feature_gates: featureGates
80
- };
81
- return await (await CommerceApiClient.getInstance().inferenceApi.v1UrlResolvingPostRaw({ UrlResolvingRequest: urlResolvingRequest })).raw.json();
82
- };
83
- }
84
- static {
85
- this.reportSession = async (reportRequest) => {
86
- await CommerceApiClient.getInstance().defaultApi.v1ChatsReportSessionIdPost({ ReportSessionRequest: reportRequest });
87
- };
88
- }
89
- static {
90
- this.getNextResponses = async (payload) => {
91
- try {
92
- return (await CommerceApiClient.getInstance().inferenceApi.v1NextResponsesPost({ NextMessageRequest: require_utils.messageRequestToCommerceMessageRequest(payload) })).map((resp) => require_models.validateResponse(resp)).map((resp) => require_utils.messageFromResponse(resp)).filter((m) => m != null);
93
- } catch (err) {
94
- require_logger.logger_default.logInfo("Failed to get next responses", err, {
95
- payloadContext: payload?.context,
96
- userEvents: payload?.userEvents
97
- });
98
- await throwSessionRestartRequiredIf("Failed to get next responses", err);
99
- return [];
100
- }
101
- };
102
- }
103
- static {
104
- this.getNextResponseStreaming = (payload) => {
105
- async function* generate(inferenceApi, abortController) {
106
- try {
107
- const response = await inferenceApi.v1NextResponsesPostRaw({ NextMessageRequest: require_utils.messageRequestToCommerceMessageRequest(payload) }, { signal: abortController.signal });
108
- if (!response.raw.body) {
109
- require_logger.logger_default.logError("[spiffy-ai] No body in the streamed response", void 0, { response: response.raw });
110
- return;
111
- }
112
- const reader = response.raw.body.getReader();
113
- const decoder = new TextDecoder("utf-8");
114
- let partial = "";
115
- const safeParse = (line) => {
116
- try {
117
- return JSON.parse(line);
118
- } catch (err) {
119
- require_logger.logger_default.logError("[spiffy-ai] Error parsing streamed line", err, {
120
- line,
121
- partial
122
- });
123
- partial = line;
124
- return partial;
125
- }
126
- };
127
- const processChunk = (chunk) => {
128
- return `${partial}${chunk}`.split("\n").map((line) => line.replace(/^data: /, "").trim()).filter((line) => line !== "" && line !== "[DONE]").map(safeParse).filter((v) => v);
129
- };
130
- while (true) {
131
- const { done, value } = await reader.read();
132
- if (done) break;
133
- const chunk = decoder.decode(value);
134
- const parsedLines = processChunk(chunk);
135
- for (const parsedLine of parsedLines) {
136
- const validatedResponse = require_models.validateResponse(parsedLine);
137
- if (validatedResponse) yield validatedResponse;
138
- }
139
- }
140
- } catch (error) {
141
- require_logger.logger_default.logError("[spiffy-ai] Failed to get next streaming responses", error, {
142
- payloadContext: payload?.context,
143
- userEvents: payload?.userEvents
144
- });
145
- await throwSessionRestartRequiredIf("Failed to get next streaming responses", error);
146
- }
147
- }
148
- CommerceApiClient.getInstance().responsesAbortController.abort();
149
- CommerceApiClient.getInstance().responsesAbortController = new AbortController();
150
- return generate(CommerceApiClient.getInstance().inferenceApi, CommerceApiClient.getInstance().responsesAbortController);
151
- };
152
- }
153
- static {
154
- this.getNextSuggestions = async (payload) => {
155
- try {
156
- CommerceApiClient.getInstance().suggestionsAbortController.abort();
157
- CommerceApiClient.getInstance().suggestionsAbortController = new AbortController();
158
- return (await CommerceApiClient.getInstance().inferenceApi.v1NextSuggestionsPost({ NextMessageRequest: require_utils.messageRequestToCommerceMessageRequest(payload) }, { signal: CommerceApiClient.getInstance().suggestionsAbortController.signal })).map((resp) => require_models.validateSuggestion(resp)).filter((suggestion) => suggestion != null);
159
- } catch (error) {
160
- require_logger.logger_default.logInfo("Failed to get suggestions", error, {
161
- payloadContext: payload?.context,
162
- userEvents: payload?.userEvents
163
- });
164
- await throwSessionRestartRequiredIf("Failed to get suggestions", error);
165
- return [];
166
- }
167
- };
168
- }
169
- static {
170
- this.getResponses = async (orgId, chatId, userId) => {
171
- let data = {
172
- responses: [],
173
- suggestions: [],
174
- user_events: []
175
- };
176
- const request = {
177
- org_id: orgId,
178
- chat_id: chatId,
179
- user_id: userId
180
- };
181
- try {
182
- data = await CommerceApiClient.getInstance().defaultApi.v1GetSessionMessages(request);
183
- } catch (error) {
184
- await throwSessionRestartRequiredIf("Failed to get chat responses", error);
185
- }
186
- const responses = data?.responses?.map((turn) => turn.map((response) => require_models.validateResponse(response)).filter((response) => response != null));
187
- const suggestions = data?.suggestions.map((suggestion) => require_models.validateSuggestion(suggestion)).filter((suggestion) => suggestion != null);
188
- const userEvents = data?.user_events.map((event) => require_models.validateUserEvent(event)).filter((event) => event != null);
189
- const formSubmittedUserEventsFormIds = userEvents.filter((event) => event.category === __spiffy_ai_commerce_api_client.UserEventCategory.FormSubmitted).map((event) => event.attributes.formResponseId);
190
- const assistantMessages = responses.map((turn) => turn.filter((response) => !(response.category === __spiffy_ai_commerce_api_client.ResponseCategory.Form && formSubmittedUserEventsFormIds.includes(response.id))).map((response) => require_utils.messageFromResponse(response)).filter((message) => message != null)).filter((turn) => turn.length > 0);
191
- const userMessages = userEvents.map((event) => {
192
- if ([__spiffy_ai_commerce_api_client.UserEventCategory.QueryTyped, __spiffy_ai_commerce_api_client.UserEventCategory.Search].includes(event.category)) return [require_utils.messageFromQueryEvent(event)];
193
- if (event.category === __spiffy_ai_commerce_api_client.UserEventCategory.SuggestionClicked) return [require_utils.messageFromSuggestionEvent(event, suggestions)];
194
- if (event.category === __spiffy_ai_commerce_api_client.UserEventCategory.FormSubmitted) {
195
- const formResponse = responses.flat().find((response) => response.id === event.attributes.formResponseId && event.attributes.formType !== __spiffy_ai_commerce_api_client.FormType.Escalation);
196
- if (formResponse && formResponse.category === __spiffy_ai_commerce_api_client.ResponseCategory.Form) return [require_utils.messageFromFormSubmittedEvent(event, formResponse.attributes)];
197
- }
198
- return [];
199
- }).filter((message) => message.length > 0);
200
- const sortedMessages = [...assistantMessages, ...userMessages].sort((a, b) => new Date(a[0].createdAt).getTime() - new Date(b[0].createdAt).getTime());
201
- return {
202
- responses,
203
- userEvents,
204
- suggestions,
205
- messages: sortedMessages
206
- };
207
- };
208
- }
209
- static {
210
- this.isSupportedEvent = async (payload) => {
211
- try {
212
- const httpResponseText = await (await CommerceApiClient.getInstance().inferenceApi.v1SupportedEventPostRaw({ SupportedEventRequest: require_utils.coreSupportedEventRequestToApiRequest(payload) })).raw.text();
213
- const httpResponseJson = JSON.parse(httpResponseText);
214
- return {
215
- ...httpResponseJson,
216
- numberOfReviews: httpResponseJson.num_of_reviews,
217
- merchant_tags: httpResponseJson.merchant_tags || []
218
- };
219
- } catch (err) {
220
- require_logger.logger_default.logError("Failed to get response for v1SupportedEventPost", { err });
221
- return {
222
- supported: false,
223
- ready: false,
224
- category: void 0,
225
- collections: [],
226
- numberOfReviews: void 0,
227
- top_category: void 0,
228
- merchant_tags: []
229
- };
230
- }
231
- };
232
- }
233
- static {
234
- this.identifyUser = async (spiffyUserId, merchantUserId, uaDetails) => {
235
- try {
236
- await CommerceApiClient.getInstance().defaultApi.v1AnalyticsIdentifyPost({ AnalyticsIdentifyRequest: {
237
- user_id: spiffyUserId,
238
- os_name: uaDetails.os,
239
- os_version: uaDetails.osVersion,
240
- platform: uaDetails.os,
241
- device_id: uaDetails.deviceModel,
242
- device_brand: uaDetails.deviceBrand,
243
- device_manufacturer: uaDetails.deviceManufacturer,
244
- device_model: uaDetails.deviceModel,
245
- user_properties: {
246
- cdp_user_id: merchantUserId,
247
- browser: uaDetails.browser,
248
- browser_version: uaDetails.browserVersion,
249
- user_agent: uaDetails.userAgent
250
- }
251
- } });
252
- } catch (err) {
253
- require_logger.logger_default.logError("Failed to identify user", err);
254
- }
255
- };
256
- }
257
- static {
258
- this.mapContextSourceToV1OrgConfigGetSource = (source) => {
259
- if (source === void 0) return void 0;
260
- switch (source) {
261
- case __spiffy_ai_commerce_api_client.ContextSourceEnum.Fork: return __spiffy_ai_commerce_api_client.V1OrgConfigGetSourceEnum.Fork;
262
- case __spiffy_ai_commerce_api_client.ContextSourceEnum.Playground: return __spiffy_ai_commerce_api_client.V1OrgConfigGetSourceEnum.Playground;
263
- case __spiffy_ai_commerce_api_client.ContextSourceEnum.App: return __spiffy_ai_commerce_api_client.V1OrgConfigGetSourceEnum.App;
264
- case __spiffy_ai_commerce_api_client.ContextSourceEnum.Test: return __spiffy_ai_commerce_api_client.V1OrgConfigGetSourceEnum.Test;
265
- case __spiffy_ai_commerce_api_client.ContextSourceEnum.Eval: return __spiffy_ai_commerce_api_client.V1OrgConfigGetSourceEnum.Test;
266
- default: return source;
267
- }
268
- };
269
- }
270
- static {
271
- this.getOrgConfig = async (user_id) => {
272
- try {
273
- const atomStore = require_atomStore.getAtomStore();
274
- const reactAppName = atomStore.get(require_enviveConfig.reactAppNameAtom);
275
- const contextSource = atomStore.get(require_enviveConfig.contextSourceAtom);
276
- const featureFlagService = atomStore.get(require_graphqlConfig.featureFlagServiceAtom);
277
- const request = {
278
- namespace: reactAppName,
279
- user_id,
280
- source: this.mapContextSourceToV1OrgConfigGetSource(contextSource),
281
- include_experiments: Object.values(require_models.ProductExperiment),
282
- include_feature_gates: Object.entries(featureFlagService?.featureFlagService?.getFeatureFlags() || {}).filter(([, isEnabled]) => isEnabled).map(([featureGateName]) => featureGateName)
283
- };
284
- const response = await CommerceApiClient.getInstance().defaultApi.v1OrgConfigGet(request);
285
- return require_models.validateOrgConfigResults(response);
286
- } catch (err) {
287
- require_logger.logger_default.logError(`Failed to get org config`, err, { err });
288
- return;
289
- }
290
- };
291
- }
292
- static {
293
- this.addNoteToLatestConversation = async (spiffyUserId, email, customerServiceProvider) => {
294
- require_logger.logger_default.logInfo(`addNoteToLatestConversation - user_id=${spiffyUserId} email=${email} customer_service_provider=${customerServiceProvider}`);
295
- try {
296
- await CommerceApiClient.getInstance().customerServiceApi.v1CustserviceAddNoteToLatestConversationPost({ AddNoteToLatestConversationRequest: {
297
- spiffy_user_id: spiffyUserId,
298
- email,
299
- customer_service_provider: customerServiceProvider
300
- } });
301
- } catch (err) {
302
- require_logger.logger_default.logError("Failed to add note to latest conversation", { err });
303
- }
304
- };
305
- }
306
- static {
307
- this.getCustomerServiceApi = () => CommerceApiClient.getInstance().customerServiceApi;
308
- }
309
- };
310
- var commerce_api_default = CommerceApiClient;
311
-
312
- //#endregion
313
- Object.defineProperty(exports, 'commerce_api_default', {
314
- enumerable: true,
315
- get: function () {
316
- return commerce_api_default;
317
- }
318
- });
319
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVyY2UtYXBpLUI3c216RTRvLmNqcyIsIm5hbWVzIjpbIlJlc3BvbnNlRXJyb3IiLCJVbnN1cHBvcnRlZFByb2R1Y3RFeGNlcHRpb24iLCJTZXNzaW9uUmVzdGFydFJlcXVpcmVkIiwiZ2V0QXRvbVN0b3JlIiwiYmFzZVVybEF0b20iLCJjb25maWc6IENvbmZpZ3VyYXRpb24iLCJDb25maWd1cmF0aW9uIiwiRGVmYXVsdEFwaSIsIkluZmVyZW5jZUFwaSIsIkN1c3RvbWVyU2VydmljZUFwaSIsIm9yZ1Nob3J0TmFtZUF0b20iLCJvcmdJZEF0b20iLCJ1c2VySWRBdG9tIiwiY2hhdElkQXRvbSIsImNvbnRleHRTb3VyY2VBdG9tIiwiZW52QXRvbSIsImZlYXR1cmVGbGFnU2VydmljZUF0b20iLCJjb250ZXh0OiBDb250ZXh0IiwiQ29udGV4dFNvdXJjZUVudW0iLCJDb250ZXh0RW52RW51bSIsIm1lc3NhZ2VSZXF1ZXN0VG9Db21tZXJjZU1lc3NhZ2VSZXF1ZXN0IiwidmFsaWRhdGVSZXNwb25zZSIsIm1lc3NhZ2VGcm9tUmVzcG9uc2UiLCJlcnI6IHVua25vd24iLCJlcnJvcjogdW5rbm93biIsInZhbGlkYXRlU3VnZ2VzdGlvbiIsImRhdGE6IFYxR2V0U2Vzc2lvbk1lc3NhZ2VzMjAwUmVzcG9uc2UiLCJyZXNwb25zZXM6IFJlc3BvbnNlW11bXSIsInN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uW10iLCJ1c2VyRXZlbnRzOiBVc2VyRXZlbnRbXSIsInZhbGlkYXRlVXNlckV2ZW50IiwiVXNlckV2ZW50Q2F0ZWdvcnkiLCJhc3Npc3RhbnRNZXNzYWdlczogTWVzc2FnZVtdW10iLCJSZXNwb25zZUNhdGVnb3J5IiwidXNlck1lc3NhZ2VzOiBNZXNzYWdlW11bXSIsIm1lc3NhZ2VGcm9tUXVlcnlFdmVudCIsIm1lc3NhZ2VGcm9tU3VnZ2VzdGlvbkV2ZW50IiwiRm9ybVR5cGUiLCJtZXNzYWdlRnJvbUZvcm1TdWJtaXR0ZWRFdmVudCIsImNvcmVTdXBwb3J0ZWRFdmVudFJlcXVlc3RUb0FwaVJlcXVlc3QiLCJWMU9yZ0NvbmZpZ0dldFNvdXJjZUVudW0iLCJyZWFjdEFwcE5hbWVBdG9tIiwicmVxdWVzdDogVjFPcmdDb25maWdHZXRSZXF1ZXN0IiwiUHJvZHVjdEV4cGVyaW1lbnQiLCJ2YWxpZGF0ZU9yZ0NvbmZpZ1Jlc3VsdHMiXSwic291cmNlcyI6WyIuLi9zcmMvYXBwbGljYXRpb24vY29tbWVyY2UtYXBpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2dnZXIgZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlclwiO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbixcbiAgQ3VzdG9tZXJTZXJ2aWNlQXBpLFxuICBEZWZhdWx0QXBpLFxuICBJbmZlcmVuY2VBcGksXG4gIFJlcG9ydFNlc3Npb25SZXF1ZXN0LFxuICBSZXNwb25zZUVycm9yLFxuICBVc2VyRXZlbnRDYXRlZ29yeSxcbiAgVjFHZXRTZXNzaW9uTWVzc2FnZXMyMDBSZXNwb25zZSxcbiAgVjFPcmdDb25maWdHZXRSZXF1ZXN0LFxuICBDb250ZXh0U291cmNlRW51bSxcbiAgVjFPcmdDb25maWdHZXRTb3VyY2VFbnVtLFxuICBDdXN0b21lclNlcnZpY2VQcm92aWRlcixcbiAgUmVzcG9uc2VDYXRlZ29yeSxcbiAgRm9ybVR5cGUsXG59IGZyb20gXCJAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnRcIjtcbmltcG9ydCB7IHZhbGlkYXRlU3VnZ2VzdGlvbiB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVTdWdnZXN0aW9uXCI7XG5pbXBvcnQgeyB2YWxpZGF0ZVVzZXJFdmVudCB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVVc2VyRXZlbnRcIjtcbmltcG9ydCB7XG4gIG1lc3NhZ2VGcm9tUXVlcnlFdmVudCxcbiAgbWVzc2FnZUZyb21SZXNwb25zZSxcbiAgbWVzc2FnZUZyb21TdWdnZXN0aW9uRXZlbnQsXG59IGZyb20gXCJzcmMvYXBwbGljYXRpb24vdXRpbHNcIjtcbmltcG9ydCB7XG4gIE1lc3NhZ2UsXG4gIE5leHRNZXNzYWdlUmVxdWVzdCxcbiAgUmVzcG9uc2UsXG4gIFN1Z2dlc3Rpb24sXG4gIFN1cHBvcnRlZEV2ZW50UmVxdWVzdCxcbiAgVXNlckV2ZW50LFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgbWVzc2FnZVJlcXVlc3RUb0NvbW1lcmNlTWVzc2FnZVJlcXVlc3QgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3V0aWxzL25leHRNZXNzYWdlUmVxdWVzdFRvQXBpUmVxdWVzdFwiO1xuaW1wb3J0IHsgdmFsaWRhdGVSZXNwb25zZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVSZXNwb25zZVwiO1xuaW1wb3J0IHsgY29yZVN1cHBvcnRlZEV2ZW50UmVxdWVzdFRvQXBpUmVxdWVzdCB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vdXRpbHMvc3VwcG9ydGVkRXZlbnRSZXF1ZXN0VG9BcGlSZXF1ZXN0XCI7XG5pbXBvcnQgeyBTZXNzaW9uUmVzdGFydFJlcXVpcmVkIH0gZnJvbSBcInNyYy90eXBlcy9leGNlcHRpb25zL3Nlc3Npb25FeGNlcHRpb25zXCI7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZFByb2R1Y3RFeGNlcHRpb24gfSBmcm9tIFwic3JjL3R5cGVzL2V4Y2VwdGlvbnMvdW5zdXBwb3J0ZWRQcm9kdWN0RXhjZXB0aW9uc1wiO1xuaW1wb3J0IHsgQ2xpZW50RGV0YWlscyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NsaWVudERldGFpbHNcIjtcbmltcG9ydCB7IGdldEF0b21TdG9yZSB9IGZyb20gXCJzcmMvYXRvbXMvYXRvbVN0b3JlL2F0b21TdG9yZVwiO1xuaW1wb3J0IHsgUHJvZHVjdEV4cGVyaW1lbnQgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9wcm9kdWN0RXhwZXJpbWVudFwiO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGVzIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzXCI7XG5pbXBvcnQgeyB2YWxpZGF0ZU9yZ0NvbmZpZ1Jlc3VsdHMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlT3JnQ29uZmlnUmVzdWx0c1wiO1xuaW1wb3J0IHsgT3JnQ29uZmlnIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHNcIjtcbmltcG9ydCB7IFN1cHBvcnRlZEV2ZW50IH0gZnJvbSBcInNyYy9hdG9tcy9hcHAvdmFyaWFudFwiO1xuaW1wb3J0IHsgbWVzc2FnZUZyb21Gb3JtU3VibWl0dGVkRXZlbnQgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3V0aWxzL21lc3NhZ2VGcm9tRm9ybVN1Ym1pdHRlZEV2ZW50XCI7XG5pbXBvcnQgdHlwZSB7IENvbnRleHQgfSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50L2Rpc3QvbW9kZWxzL0NvbnRleHRcIjtcbmltcG9ydCB7IENvbnRleHRFbnZFbnVtIH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiOyAvLyBJbXBvcnQgQ29udGV4dEVudkVudW1cbmltcG9ydCB7XG4gIGJhc2VVcmxBdG9tLFxuICByZWFjdEFwcE5hbWVBdG9tLFxuICBjb250ZXh0U291cmNlQXRvbSxcbiAgb3JnU2hvcnROYW1lQXRvbSxcbiAgZW52QXRvbSwgLy8gSW1wb3J0IGVudkF0b21cbn0gZnJvbSBcInNyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnXCI7XG5pbXBvcnQgeyB1c2VySWRBdG9tLCBjaGF0SWRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hcHBcIjsgLy8gSW1wb3J0IHVzZXJJZEF0b20gYW5kIGNoYXRJZEF0b21cbmltcG9ydCB7IG9yZ0lkQXRvbSwgZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbSB9IGZyb20gXCJzcmMvYXRvbXMvb3JnL2dyYXBocWxDb25maWdcIjsgLy8gSW1wb3J0IG5ldyBvcmdJZEF0b20gYW5kIGZlYXR1cmVGbGFnU2VydmljZUF0b21cblxuYXN5bmMgZnVuY3Rpb24gZXJyb3JSZXNwb25zZUJvZHkoZXJyb3I6IFJlc3BvbnNlRXJyb3IpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgZXJyb3IucmVzcG9uc2UuanNvbigpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gdGhyb3dTZXNzaW9uUmVzdGFydFJlcXVpcmVkSWYoZXJyb3JNc2c6IHN0cmluZywgZXJyb3I6IHVua25vd24pIHtcbiAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBSZXNwb25zZUVycm9yKSkge1xuICAgIExvZ2dlci5sb2dJbmZvKGVycm9yTXNnLCBlcnJvcik7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cblxuICBjb25zdCBlcnJvclJlc3BvbnNlID0gYXdhaXQgZXJyb3JSZXNwb25zZUJvZHkoZXJyb3IpO1xuICBpZiAoXG4gICAgZXJyb3JSZXNwb25zZT8ubWVzc2FnZT8udG9Mb3dlckNhc2UoKSA9PT0gXCJ1bnN1cHBvcnRlZCBwcm9kdWN0XCIgfHwgLy8gZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuIG5ld2VyIHZlcnNpb25zIG9mIHRoZSBBUEkgcmV0dXJuIHN1Yl9jb2RlIGluc3RlYWQgb2YgbWVzc2FnZVxuICAgIGVycm9yUmVzcG9uc2U/LmFwcF9jb2RlPy50b1VwcGVyQ2FzZSgpID09PSBcIlBST0RVQ1RfTk9UX0ZPVU5EXCJcbiAgKSB7XG4gICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkUHJvZHVjdEV4Y2VwdGlvbigpO1xuICB9IGVsc2UgaWYgKFxuICAgIGVycm9yUmVzcG9uc2U/LmFwcF9jb2RlPy50b1VwcGVyQ2FzZSgpID09PSBcIlJFU1RBUlRfU0VTU0lPTlwiIHx8XG4gICAgZXJyb3JSZXNwb25zZT8uc3ViX2NvZGU/LnRvVXBwZXJDYXNlKCkgPT09IFwiTk9UX0ZPVU5EXCIgLy8gZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuIG5ldyBBUEkgcmVzcG9uc2VzIHdpbGwgY29udGFpbiBcImFwcF9jb2RlXCJcbiAgKSB7XG4gICAgTG9nZ2VyLmxvZ0luZm8oXG4gICAgICBcIlNlc3Npb24gZG9lcyBub3QgZXhpc3QuIFJlLXN0YXJ0IHNlc3Npb25cIixcbiAgICAgIGVycm9yLFxuICAgICAgZXJyb3IucmVzcG9uc2UsXG4gICAgICBlcnJvclJlc3BvbnNlXG4gICAgKTtcbiAgICB0aHJvdyBuZXcgU2Vzc2lvblJlc3RhcnRSZXF1aXJlZCgpO1xuICB9XG5cbiAgTG9nZ2VyLmxvZ0luZm8oZXJyb3JNc2csIGVycm9yKTtcbiAgdGhyb3cgZXJyb3I7XG59XG5cbmNsYXNzIENvbW1lcmNlQXBpQ2xpZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBpOiBEZWZhdWx0QXBpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY3VzdG9tZXJTZXJ2aWNlQXBpOiBDdXN0b21lclNlcnZpY2VBcGk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbmZlcmVuY2VBcGk6IEluZmVyZW5jZUFwaTtcblxuICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZTogQ29tbWVyY2VBcGlDbGllbnQgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBzdWdnZXN0aW9uc0Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBwcml2YXRlIHJlc3BvbnNlc0Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBwcml2YXRlIHN0YXRpYyBnZXRJbnN0YW5jZSA9ICgpOiBDb21tZXJjZUFwaUNsaWVudCA9PiB7XG4gICAgaWYgKCFDb21tZXJjZUFwaUNsaWVudC5pbnN0YW5jZSkge1xuICAgICAgQ29tbWVyY2VBcGlDbGllbnQuaW5zdGFuY2UgPSBuZXcgQ29tbWVyY2VBcGlDbGllbnQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQ29tbWVyY2VBcGlDbGllbnQuaW5zdGFuY2U7XG4gIH07XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihiYXNlUGF0aD86IHN0cmluZykge1xuICAgIGNvbnN0IGF0b21TdG9yZSA9IGdldEF0b21TdG9yZSgpO1xuICAgIGNvbnN0IGJhc2VVcmwgPSBhdG9tU3RvcmUuZ2V0KGJhc2VVcmxBdG9tKTtcbiAgICBjb25zdCBwYXRoID0gYmFzZVBhdGggfHwgYmFzZVVybDtcbiAgICAvLyBBUEkgS2V5IGlzIG5vdyBoYW5kbGVkIGF0IHRoZSBFbnZpdmVDb25maWdQcm92aWRlciBsZXZlbFxuICAgIGNvbnN0IGNvbmZpZzogQ29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKHtcbiAgICAgIGJhc2VQYXRoOiBwYXRoLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5kZWZhdWx0QXBpID0gbmV3IERlZmF1bHRBcGkoY29uZmlnKTtcbiAgICB0aGlzLmluZmVyZW5jZUFwaSA9IG5ldyBJbmZlcmVuY2VBcGkoY29uZmlnKTtcbiAgICB0aGlzLmN1c3RvbWVyU2VydmljZUFwaSA9IG5ldyBDdXN0b21lclNlcnZpY2VBcGkoY29uZmlnKTtcbiAgfVxuXG4gIHN0YXRpYyByZXNvbHZlVXJsID0gYXN5bmMgKHVybDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgYXRvbVN0b3JlID0gZ2V0QXRvbVN0b3JlKCk7XG4gICAgY29uc3Qgb3JnU2hvcnROYW1lID0gYXRvbVN0b3JlLmdldChvcmdTaG9ydE5hbWVBdG9tKTtcbiAgICBjb25zdCBvcmdJZCA9IGF0b21TdG9yZS5nZXQob3JnSWRBdG9tKTtcbiAgICBjb25zdCB1c2VySWQgPSBhdG9tU3RvcmUuZ2V0KHVzZXJJZEF0b20pO1xuICAgIGNvbnN0IGNoYXRJZCA9IGF0b21TdG9yZS5nZXQoY2hhdElkQXRvbSk7XG4gICAgY29uc3Qgc291cmNlID0gYXRvbVN0b3JlLmdldChjb250ZXh0U291cmNlQXRvbSk7XG4gICAgY29uc3QgZW52ID0gYXRvbVN0b3JlLmdldChlbnZBdG9tKTtcblxuICAgIGNvbnN0IGZlYXR1cmVGbGFnU2VydmljZSA9IGF0b21TdG9yZS5nZXQoZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbSk7XG5cbiAgICBjb25zdCBjb250ZXh0OiBDb250ZXh0ID0ge1xuICAgICAgdXNlcl9pZDogdXNlcklkID8/IFwiXCIsXG4gICAgICBvcmdfaWQ6IG9yZ0lkID8/IFwiXCIsXG4gICAgICBvcmdfc2hvcnRfbmFtZTogb3JnU2hvcnROYW1lID8/IFwiXCIsXG4gICAgICBjaGF0X2lkOiBjaGF0SWQgPz8gXCJcIixcbiAgICAgIHNvdXJjZTogc291cmNlID8/IENvbnRleHRTb3VyY2VFbnVtLkFwcCxcbiAgICAgIGVudjogKGVudiBhcyBDb250ZXh0RW52RW51bSkgPz8gQ29udGV4dEVudkVudW0uRGV2LCAvLyBDYXN0IGVudiB0byBDb250ZXh0RW52RW51bVxuICAgIH07XG5cbiAgICBjb25zdCBmZWF0dXJlR2F0ZXMgPVxuICAgICAgZmVhdHVyZUZsYWdTZXJ2aWNlPy5mZWF0dXJlRmxhZ1NlcnZpY2U/LmdldEZlYXR1cmVGbGFncygpIHx8IHt9O1xuICAgIGNvbnN0IHVybFJlc29sdmluZ1JlcXVlc3QgPSB7XG4gICAgICB1cmwsXG4gICAgICBjb250ZXh0LFxuICAgICAgZmVhdHVyZV9nYXRlczogZmVhdHVyZUdhdGVzLFxuICAgIH07XG5cbiAgICBjb25zdCByYXdSZXNwb25zZSA9XG4gICAgICBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRJbnN0YW5jZSgpLmluZmVyZW5jZUFwaS52MVVybFJlc29sdmluZ1Bvc3RSYXcoe1xuICAgICAgICBVcmxSZXNvbHZpbmdSZXF1ZXN0OiB1cmxSZXNvbHZpbmdSZXF1ZXN0LFxuICAgICAgfSk7XG5cbiAgICBjb25zdCByZXNwb25zZUJvZHkgPSBhd2FpdCByYXdSZXNwb25zZS5yYXcuanNvbigpO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlQm9keTtcbiAgfTtcblxuICBzdGF0aWMgcmVwb3J0U2Vzc2lvbiA9IGFzeW5jIChcbiAgICByZXBvcnRSZXF1ZXN0OiBSZXBvcnRTZXNzaW9uUmVxdWVzdFxuICApOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRJbnN0YW5jZSgpLmRlZmF1bHRBcGkudjFDaGF0c1JlcG9ydFNlc3Npb25JZFBvc3QoXG4gICAgICB7XG4gICAgICAgIFJlcG9ydFNlc3Npb25SZXF1ZXN0OiByZXBvcnRSZXF1ZXN0LFxuICAgICAgfVxuICAgICk7XG4gIH07XG5cbiAgc3RhdGljIGdldE5leHRSZXNwb25zZXMgPSBhc3luYyAoXG4gICAgcGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0XG4gICk6IFByb21pc2U8TWVzc2FnZVtdPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID1cbiAgICAgICAgYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SW5zdGFuY2UoKS5pbmZlcmVuY2VBcGkudjFOZXh0UmVzcG9uc2VzUG9zdCh7XG4gICAgICAgICAgTmV4dE1lc3NhZ2VSZXF1ZXN0OiBtZXNzYWdlUmVxdWVzdFRvQ29tbWVyY2VNZXNzYWdlUmVxdWVzdChwYXlsb2FkKSxcbiAgICAgICAgfSk7XG4gICAgICBjb25zdCBtZXNzYWdlcyA9IHJlc3BvbnNlXG4gICAgICAgIC5tYXAoKHJlc3ApID0+IHZhbGlkYXRlUmVzcG9uc2UocmVzcCkpXG4gICAgICAgIC5tYXAoKHJlc3ApID0+IG1lc3NhZ2VGcm9tUmVzcG9uc2UocmVzcCkpO1xuXG4gICAgICByZXR1cm4gbWVzc2FnZXMuZmlsdGVyKChtKTogbSBpcyBNZXNzYWdlID0+IG0gIT0gbnVsbCk7XG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBMb2dnZXIubG9nSW5mbyhcIkZhaWxlZCB0byBnZXQgbmV4dCByZXNwb25zZXNcIiwgZXJyLCB7XG4gICAgICAgIHBheWxvYWRDb250ZXh0OiBwYXlsb2FkPy5jb250ZXh0LFxuICAgICAgICB1c2VyRXZlbnRzOiBwYXlsb2FkPy51c2VyRXZlbnRzLFxuICAgICAgfSk7XG4gICAgICBhd2FpdCB0aHJvd1Nlc3Npb25SZXN0YXJ0UmVxdWlyZWRJZihcIkZhaWxlZCB0byBnZXQgbmV4dCByZXNwb25zZXNcIiwgZXJyKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH07XG5cbiAgc3RhdGljIGdldE5leHRSZXNwb25zZVN0cmVhbWluZyA9IChcbiAgICBwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3RcbiAgKTogQXN5bmNHZW5lcmF0b3I8UmVzcG9uc2UsIHZvaWQsIHVua25vd24+ID0+IHtcbiAgICBhc3luYyBmdW5jdGlvbiogZ2VuZXJhdGUoXG4gICAgICBpbmZlcmVuY2VBcGk6IEluZmVyZW5jZUFwaSxcbiAgICAgIGFib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyXG4gICAgKSB7XG4gICAgICAvLyBtYWtlIHN1cmUgc3RyZWFtaW5nIGlzIGVuYWJsZWRcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaW5mZXJlbmNlQXBpLnYxTmV4dFJlc3BvbnNlc1Bvc3RSYXcoXG4gICAgICAgICAge1xuICAgICAgICAgICAgTmV4dE1lc3NhZ2VSZXF1ZXN0OiBtZXNzYWdlUmVxdWVzdFRvQ29tbWVyY2VNZXNzYWdlUmVxdWVzdChwYXlsb2FkKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgc2lnbmFsOiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsIH1cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBSZWFkIHRoZSByZXNwb25zZSBhcyBhIHN0cmVhbSBvZiBkYXRhXG4gICAgICAgIGlmICghcmVzcG9uc2UucmF3LmJvZHkpIHtcbiAgICAgICAgICBMb2dnZXIubG9nRXJyb3IoXG4gICAgICAgICAgICBcIltzcGlmZnktYWldIE5vIGJvZHkgaW4gdGhlIHN0cmVhbWVkIHJlc3BvbnNlXCIsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJlc3BvbnNlOiByZXNwb25zZS5yYXcsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWFkZXIgPSByZXNwb25zZS5yYXcuYm9keS5nZXRSZWFkZXIoKTtcbiAgICAgICAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcihcInV0Zi04XCIpO1xuXG4gICAgICAgIGxldCBwYXJ0aWFsID0gXCJcIjtcbiAgICAgICAgLy8gVE9ETyB0aGlzIGZ1bmN0aW9uIGlzIHJlY3JlYXRlZCBldmVyeSB0aW1lIG5ldyBkYXRhIGNvbWVzIGZyb20gdGhlIHN0cmVhbSAtIGRlZmluZSBpdCBvdXRzaWRlIG9mIHRoZSBnZW5lcmF0b3JcbiAgICAgICAgY29uc3Qgc2FmZVBhcnNlID0gKGxpbmU6IHN0cmluZyk6IHVua25vd24gPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShsaW5lKTsgLy8gUGFyc2UgdGhlIEpTT04gc3RyaW5nXG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBMb2dnZXIubG9nRXJyb3IoXCJbc3BpZmZ5LWFpXSBFcnJvciBwYXJzaW5nIHN0cmVhbWVkIGxpbmVcIiwgZXJyLCB7XG4gICAgICAgICAgICAgIGxpbmUsXG4gICAgICAgICAgICAgIHBhcnRpYWwsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIHN3YWxsb3cgdGhlIGVycm9yIGFuZCBzZXQgdGhlIHBhcnRpYWwgdG8gb3VyIGN1cnJlbnQgY2h1bmtcbiAgICAgICAgICAgIHBhcnRpYWwgPSBsaW5lO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnRpYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFRPRE8gdGhpcyBmdW5jdGlvbiBpcyByZWNyZWF0ZWQgZXZlcnkgdGltZSBuZXcgZGF0YSBjb21lcyBmcm9tIHRoZSBzdHJlYW0gLSBkZWZpbmUgaXQgb3V0c2lkZSBvZiB0aGUgZ2VuZXJhdG9yXG4gICAgICAgIGNvbnN0IHByb2Nlc3NDaHVuayA9IChjaHVuazogc3RyaW5nKTogdW5rbm93bltdID0+IHtcbiAgICAgICAgICAvLyBtZXJnZSB0aGUgcGFydGlhbCB3aXRoIHRoZSBpbmNvbWluZyBjaHVua1xuICAgICAgICAgIGNvbnN0IGxpbmVzID0gYCR7cGFydGlhbH0ke2NodW5rfWAuc3BsaXQoXCJcXG5cIik7XG5cbiAgICAgICAgICBjb25zdCBwYXJzZWRMaW5lcyA9IGxpbmVzXG4gICAgICAgICAgICAubWFwKChsaW5lKSA9PiBsaW5lLnJlcGxhY2UoL15kYXRhOiAvLCBcIlwiKS50cmltKCkpIC8vIFJlbW92ZSB0aGUgXCJkYXRhOiBcIiBwcmVmaXhcbiAgICAgICAgICAgIC5maWx0ZXIoKGxpbmUpID0+IGxpbmUgIT09IFwiXCIgJiYgbGluZSAhPT0gXCJbRE9ORV1cIikgLy8gUmVtb3ZlIGVtcHR5IGxpbmVzIGFuZCBcIltET05FXVwiXG4gICAgICAgICAgICAubWFwKHNhZmVQYXJzZSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHYpID0+IHYpOyAvLyBhbmQgZmlsdGVyIG91dCB0aGUgdW5kZWZpbmVkIHZhbHVlc1xuICAgICAgICAgIHJldHVybiBwYXJzZWRMaW5lcztcbiAgICAgICAgfTtcblxuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICAgICAgY29uc3QgeyBkb25lLCB2YWx1ZSB9ID0gYXdhaXQgcmVhZGVyLnJlYWQoKTtcblxuICAgICAgICAgIGlmIChkb25lKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBNYXNzYWdlIGFuZCBwYXJzZSB0aGUgY2h1bmsgb2YgZGF0YVxuICAgICAgICAgIGNvbnN0IGNodW5rID0gZGVjb2Rlci5kZWNvZGUodmFsdWUpO1xuICAgICAgICAgIGNvbnN0IHBhcnNlZExpbmVzID0gcHJvY2Vzc0NodW5rKGNodW5rKTtcblxuICAgICAgICAgIGZvciAoY29uc3QgcGFyc2VkTGluZSBvZiBwYXJzZWRMaW5lcykge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdGVkUmVzcG9uc2UgPSB2YWxpZGF0ZVJlc3BvbnNlKHBhcnNlZExpbmUpO1xuXG4gICAgICAgICAgICBpZiAodmFsaWRhdGVkUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgeWllbGQgdmFsaWRhdGVkUmVzcG9uc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgICBMb2dnZXIubG9nRXJyb3IoXG4gICAgICAgICAgXCJbc3BpZmZ5LWFpXSBGYWlsZWQgdG8gZ2V0IG5leHQgc3RyZWFtaW5nIHJlc3BvbnNlc1wiLFxuICAgICAgICAgIGVycm9yLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBheWxvYWRDb250ZXh0OiBwYXlsb2FkPy5jb250ZXh0LFxuICAgICAgICAgICAgdXNlckV2ZW50czogcGF5bG9hZD8udXNlckV2ZW50cyxcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIGF3YWl0IHRocm93U2Vzc2lvblJlc3RhcnRSZXF1aXJlZElmKFxuICAgICAgICAgIFwiRmFpbGVkIHRvIGdldCBuZXh0IHN0cmVhbWluZyByZXNwb25zZXNcIixcbiAgICAgICAgICBlcnJvclxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIENvbW1lcmNlQXBpQ2xpZW50LmdldEluc3RhbmNlKCkucmVzcG9uc2VzQWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SW5zdGFuY2UoKS5yZXNwb25zZXNBYm9ydENvbnRyb2xsZXIgPVxuICAgICAgbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgcmV0dXJuIGdlbmVyYXRlKFxuICAgICAgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SW5zdGFuY2UoKS5pbmZlcmVuY2VBcGksXG4gICAgICBDb21tZXJjZUFwaUNsaWVudC5nZXRJbnN0YW5jZSgpLnJlc3BvbnNlc0Fib3J0Q29udHJvbGxlclxuICAgICk7XG4gIH07XG5cbiAgc3RhdGljIGdldE5leHRTdWdnZXN0aW9ucyA9IGFzeW5jIChcbiAgICBwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3RcbiAgKTogUHJvbWlzZTxTdWdnZXN0aW9uW10+ID0+IHtcbiAgICB0cnkge1xuICAgICAgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SW5zdGFuY2UoKS5zdWdnZXN0aW9uc0Fib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgICAgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SW5zdGFuY2UoKS5zdWdnZXN0aW9uc0Fib3J0Q29udHJvbGxlciA9XG4gICAgICAgIG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRJbnN0YW5jZSgpLmluZmVyZW5jZUFwaS52MU5leHRTdWdnZXN0aW9uc1Bvc3QoXG4gICAgICAgICAge1xuICAgICAgICAgICAgTmV4dE1lc3NhZ2VSZXF1ZXN0OiBtZXNzYWdlUmVxdWVzdFRvQ29tbWVyY2VNZXNzYWdlUmVxdWVzdChwYXlsb2FkKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNpZ25hbDpcbiAgICAgICAgICAgICAgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SW5zdGFuY2UoKS5zdWdnZXN0aW9uc0Fib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICBjb25zdCBzdWdnZXN0aW9ucyA9IHJlc3BvbnNlXG4gICAgICAgIC5tYXAoKHJlc3ApID0+IHZhbGlkYXRlU3VnZ2VzdGlvbihyZXNwKSlcbiAgICAgICAgLmZpbHRlcigoc3VnZ2VzdGlvbik6IHN1Z2dlc3Rpb24gaXMgU3VnZ2VzdGlvbiA9PiBzdWdnZXN0aW9uICE9IG51bGwpO1xuXG4gICAgICByZXR1cm4gc3VnZ2VzdGlvbnM7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIExvZ2dlci5sb2dJbmZvKFwiRmFpbGVkIHRvIGdldCBzdWdnZXN0aW9uc1wiLCBlcnJvciwge1xuICAgICAgICBwYXlsb2FkQ29udGV4dDogcGF5bG9hZD8uY29udGV4dCxcbiAgICAgICAgdXNlckV2ZW50czogcGF5bG9hZD8udXNlckV2ZW50cyxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCB0aHJvd1Nlc3Npb25SZXN0YXJ0UmVxdWlyZWRJZihcIkZhaWxlZCB0byBnZXQgc3VnZ2VzdGlvbnNcIiwgZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogRmV0Y2hlcyB0aGUgZXhpc3RpbmcgY2hhdCBkYXRhIGZvciBhIGdpdmVuIHNlc3Npb24gYW5kIHRyYW5zZm9ybXMgdGhlbSB0byByZWNvbnN0cnVjdCB0aGUgY2hhdCBoaXN0b3J5LlxuICAgKlxuICAgKiBAcGFyYW0gb3JnSWQgVGhlIG9yZ2FuaXphdGlvbiBJZFxuICAgKiBAcGFyYW0gY2hhdElkIFRoZSBleGlzdGluZyBjaGF0IElkXG4gICAqIEBwYXJhbSB1c2VySWQgVGhlIHVzZXIgSWRcbiAgICpcbiAgICogQHJldHVybnMgQSBsaXN0IG9mIG1lc3NhZ2VzIHRoYXQgd2VyZSBleGNoYW5nZWQgaW4gdGhlIGNoYXQsIHRocm93cyBhbiBlcnJvciBpZiB0aGUgY2hhdCBzZXNzaW9uIGhhcyBleHBpcmVkLlxuICAgKi9cbiAgc3RhdGljIGdldFJlc3BvbnNlcyA9IGFzeW5jIChcbiAgICBvcmdJZDogc3RyaW5nLFxuICAgIGNoYXRJZDogc3RyaW5nLFxuICAgIHVzZXJJZDogc3RyaW5nXG4gICk6IFByb21pc2U8e1xuICAgIHJlc3BvbnNlczogUmVzcG9uc2VbXVtdO1xuICAgIHVzZXJFdmVudHM6IFVzZXJFdmVudFtdO1xuICAgIHN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uW107XG4gICAgbWVzc2FnZXM6IE1lc3NhZ2VbXVtdO1xuICB9PiA9PiB7XG4gICAgbGV0IGRhdGE6IFYxR2V0U2Vzc2lvbk1lc3NhZ2VzMjAwUmVzcG9uc2UgPSB7XG4gICAgICByZXNwb25zZXM6IFtdLFxuICAgICAgc3VnZ2VzdGlvbnM6IFtdLFxuICAgICAgdXNlcl9ldmVudHM6IFtdLFxuICAgIH07XG4gICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgIG9yZ19pZDogb3JnSWQsXG4gICAgICBjaGF0X2lkOiBjaGF0SWQsXG4gICAgICB1c2VyX2lkOiB1c2VySWQsXG4gICAgfTtcbiAgICB0cnkge1xuICAgICAgZGF0YSA9XG4gICAgICAgIGF3YWl0IENvbW1lcmNlQXBpQ2xpZW50LmdldEluc3RhbmNlKCkuZGVmYXVsdEFwaS52MUdldFNlc3Npb25NZXNzYWdlcyhcbiAgICAgICAgICByZXF1ZXN0XG4gICAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGF3YWl0IHRocm93U2Vzc2lvblJlc3RhcnRSZXF1aXJlZElmKFxuICAgICAgICBcIkZhaWxlZCB0byBnZXQgY2hhdCByZXNwb25zZXNcIixcbiAgICAgICAgZXJyb3JcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2VzOiBSZXNwb25zZVtdW10gPSBkYXRhPy5yZXNwb25zZXM/Lm1hcCgodHVybikgPT5cbiAgICAgIHR1cm5cbiAgICAgICAgLm1hcCgocmVzcG9uc2UpID0+IHZhbGlkYXRlUmVzcG9uc2UocmVzcG9uc2UpKVxuICAgICAgICAuZmlsdGVyKChyZXNwb25zZSk6IHJlc3BvbnNlIGlzIFJlc3BvbnNlID0+IHJlc3BvbnNlICE9IG51bGwpXG4gICAgKTtcblxuICAgIGNvbnN0IHN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uW10gPSBkYXRhPy5zdWdnZXN0aW9uc1xuICAgICAgLm1hcCgoc3VnZ2VzdGlvbikgPT4gdmFsaWRhdGVTdWdnZXN0aW9uKHN1Z2dlc3Rpb24pKVxuICAgICAgLmZpbHRlcigoc3VnZ2VzdGlvbik6IHN1Z2dlc3Rpb24gaXMgU3VnZ2VzdGlvbiA9PiBzdWdnZXN0aW9uICE9IG51bGwpO1xuXG4gICAgY29uc3QgdXNlckV2ZW50czogVXNlckV2ZW50W10gPSBkYXRhPy51c2VyX2V2ZW50c1xuICAgICAgLm1hcCgoZXZlbnQpID0+IHZhbGlkYXRlVXNlckV2ZW50KGV2ZW50KSlcbiAgICAgIC5maWx0ZXIoKGV2ZW50KTogZXZlbnQgaXMgVXNlckV2ZW50ID0+IGV2ZW50ICE9IG51bGwpO1xuXG4gICAgLy8gaWYgYSBmb3JtIGhhcyBhbHJlYWR5IGJlZW4gc3VibWl0dGVkLCBkb24ndCBzaG93IGl0IGluIHRoZSBjaGF0IGhpc3RvcnlcbiAgICBjb25zdCBmb3JtU3VibWl0dGVkVXNlckV2ZW50c0Zvcm1JZHMgPSB1c2VyRXZlbnRzXG4gICAgICAuZmlsdGVyKChldmVudCkgPT4gZXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQpXG4gICAgICAubWFwKChldmVudCkgPT4gZXZlbnQuYXR0cmlidXRlcy5mb3JtUmVzcG9uc2VJZCk7XG5cbiAgICBjb25zdCBhc3Npc3RhbnRNZXNzYWdlczogTWVzc2FnZVtdW10gPSByZXNwb25zZXNcbiAgICAgIC5tYXAoKHR1cm4pID0+XG4gICAgICAgIHR1cm5cbiAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgKHJlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmNhdGVnb3J5ID09PSBSZXNwb25zZUNhdGVnb3J5LkZvcm0gJiZcbiAgICAgICAgICAgICAgICBmb3JtU3VibWl0dGVkVXNlckV2ZW50c0Zvcm1JZHMuaW5jbHVkZXMocmVzcG9uc2UuaWQpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcCgocmVzcG9uc2UpID0+IG1lc3NhZ2VGcm9tUmVzcG9uc2UocmVzcG9uc2UpKVxuICAgICAgICAgIC5maWx0ZXIoKG1lc3NhZ2UpOiBtZXNzYWdlIGlzIE1lc3NhZ2UgPT4gbWVzc2FnZSAhPSBudWxsKVxuICAgICAgKVxuICAgICAgLmZpbHRlcigodHVybikgPT4gdHVybi5sZW5ndGggPiAwKTtcblxuICAgIGNvbnN0IHVzZXJNZXNzYWdlczogTWVzc2FnZVtdW10gPSB1c2VyRXZlbnRzXG4gICAgICAubWFwKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgW1VzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQsIFVzZXJFdmVudENhdGVnb3J5LlNlYXJjaF0uaW5jbHVkZXMoXG4gICAgICAgICAgICBldmVudC5jYXRlZ29yeVxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIFttZXNzYWdlRnJvbVF1ZXJ5RXZlbnQoZXZlbnQpXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpIHtcbiAgICAgICAgICByZXR1cm4gW21lc3NhZ2VGcm9tU3VnZ2VzdGlvbkV2ZW50KGV2ZW50LCBzdWdnZXN0aW9ucyldO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkKSB7XG4gICAgICAgICAgY29uc3QgZm9ybVJlc3BvbnNlID0gcmVzcG9uc2VzXG4gICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmlkID09PSBldmVudC5hdHRyaWJ1dGVzLmZvcm1SZXNwb25zZUlkICYmXG4gICAgICAgICAgICAgICAgZXZlbnQuYXR0cmlidXRlcy5mb3JtVHlwZSAhPT0gRm9ybVR5cGUuRXNjYWxhdGlvblxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChmb3JtUmVzcG9uc2UgJiYgZm9ybVJlc3BvbnNlLmNhdGVnb3J5ID09PSBSZXNwb25zZUNhdGVnb3J5LkZvcm0pIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIG1lc3NhZ2VGcm9tRm9ybVN1Ym1pdHRlZEV2ZW50KGV2ZW50LCBmb3JtUmVzcG9uc2UuYXR0cmlidXRlcyksXG4gICAgICAgICAgICBdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChtZXNzYWdlKTogbWVzc2FnZSBpcyBNZXNzYWdlW10gPT4gbWVzc2FnZS5sZW5ndGggPiAwKTtcblxuICAgIC8vIFNvcnQgdGhlIG1lc3NhZ2VzIGNocm9ub2xvZ2ljYWxseSB0byByZWNvbnN0cnVjdCB0aGUgY2hhdCBoaXN0b3J5XG4gICAgY29uc3Qgc29ydGVkTWVzc2FnZXMgPSBbLi4uYXNzaXN0YW50TWVzc2FnZXMsIC4uLnVzZXJNZXNzYWdlc10uc29ydChcbiAgICAgIChhLCBiKSA9PlxuICAgICAgICBuZXcgRGF0ZShhWzBdLmNyZWF0ZWRBdCkuZ2V0VGltZSgpIC0gbmV3IERhdGUoYlswXS5jcmVhdGVkQXQpLmdldFRpbWUoKVxuICAgICk7XG5cbiAgICByZXR1cm4geyByZXNwb25zZXMsIHVzZXJFdmVudHMsIHN1Z2dlc3Rpb25zLCBtZXNzYWdlczogc29ydGVkTWVzc2FnZXMgfTtcbiAgfTtcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHBheWxvYWRcbiAgICogQHJldHVybnNcbiAgICovXG4gIHN0YXRpYyBpc1N1cHBvcnRlZEV2ZW50ID0gYXN5bmMgKFxuICAgIHBheWxvYWQ6IFN1cHBvcnRlZEV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPFN1cHBvcnRlZEV2ZW50PiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJhd1Jlc3BvbnNlID1cbiAgICAgICAgYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SW5zdGFuY2UoKS5pbmZlcmVuY2VBcGkudjFTdXBwb3J0ZWRFdmVudFBvc3RSYXcoXG4gICAgICAgICAge1xuICAgICAgICAgICAgU3VwcG9ydGVkRXZlbnRSZXF1ZXN0OlxuICAgICAgICAgICAgICBjb3JlU3VwcG9ydGVkRXZlbnRSZXF1ZXN0VG9BcGlSZXF1ZXN0KHBheWxvYWQpLFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgLy8gR2V0IHRoZSBhY3R1YWwgSFRUUCByZXNwb25zZSBKU09OXG4gICAgICBjb25zdCBodHRwUmVzcG9uc2VUZXh0ID0gYXdhaXQgcmF3UmVzcG9uc2UucmF3LnRleHQoKTtcbiAgICAgIGNvbnN0IGh0dHBSZXNwb25zZUpzb24gPSBKU09OLnBhcnNlKGh0dHBSZXNwb25zZVRleHQpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5odHRwUmVzcG9uc2VKc29uLFxuICAgICAgICBudW1iZXJPZlJldmlld3M6IGh0dHBSZXNwb25zZUpzb24ubnVtX29mX3Jldmlld3MsXG4gICAgICAgIG1lcmNoYW50X3RhZ3M6IGh0dHBSZXNwb25zZUpzb24ubWVyY2hhbnRfdGFncyB8fCBbXSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBMb2dnZXIubG9nRXJyb3IoXCJGYWlsZWQgdG8gZ2V0IHJlc3BvbnNlIGZvciB2MVN1cHBvcnRlZEV2ZW50UG9zdFwiLCB7XG4gICAgICAgIGVycixcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VwcG9ydGVkOiBmYWxzZSxcbiAgICAgICAgcmVhZHk6IGZhbHNlLFxuICAgICAgICBjYXRlZ29yeTogdW5kZWZpbmVkLFxuICAgICAgICBjb2xsZWN0aW9uczogW10sXG4gICAgICAgIG51bWJlck9mUmV2aWV3czogdW5kZWZpbmVkLFxuICAgICAgICB0b3BfY2F0ZWdvcnk6IHVuZGVmaW5lZCxcbiAgICAgICAgbWVyY2hhbnRfdGFnczogW10sXG4gICAgICB9O1xuICAgIH1cbiAgfTtcblxuICBzdGF0aWMgaWRlbnRpZnlVc2VyID0gYXN5bmMgKFxuICAgIHNwaWZmeVVzZXJJZDogc3RyaW5nLFxuICAgIG1lcmNoYW50VXNlcklkOiBzdHJpbmcsXG4gICAgdWFEZXRhaWxzOiBDbGllbnREZXRhaWxzXG4gICk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRJbnN0YW5jZSgpLmRlZmF1bHRBcGkudjFBbmFseXRpY3NJZGVudGlmeVBvc3Qoe1xuICAgICAgICBBbmFseXRpY3NJZGVudGlmeVJlcXVlc3Q6IHtcbiAgICAgICAgICB1c2VyX2lkOiBzcGlmZnlVc2VySWQsXG4gICAgICAgICAgb3NfbmFtZTogdWFEZXRhaWxzLm9zLFxuICAgICAgICAgIG9zX3ZlcnNpb246IHVhRGV0YWlscy5vc1ZlcnNpb24sXG4gICAgICAgICAgcGxhdGZvcm06IHVhRGV0YWlscy5vcyxcbiAgICAgICAgICBkZXZpY2VfaWQ6IHVhRGV0YWlscy5kZXZpY2VNb2RlbCxcbiAgICAgICAgICBkZXZpY2VfYnJhbmQ6IHVhRGV0YWlscy5kZXZpY2VCcmFuZCxcbiAgICAgICAgICBkZXZpY2VfbWFudWZhY3R1cmVyOiB1YURldGFpbHMuZGV2aWNlTWFudWZhY3R1cmVyLFxuICAgICAgICAgIGRldmljZV9tb2RlbDogdWFEZXRhaWxzLmRldmljZU1vZGVsLFxuICAgICAgICAgIHVzZXJfcHJvcGVydGllczoge1xuICAgICAgICAgICAgY2RwX3VzZXJfaWQ6IG1lcmNoYW50VXNlcklkLFxuICAgICAgICAgICAgYnJvd3NlcjogdWFEZXRhaWxzLmJyb3dzZXIsXG4gICAgICAgICAgICBicm93c2VyX3ZlcnNpb246IHVhRGV0YWlscy5icm93c2VyVmVyc2lvbixcbiAgICAgICAgICAgIHVzZXJfYWdlbnQ6IHVhRGV0YWlscy51c2VyQWdlbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgTG9nZ2VyLmxvZ0Vycm9yKFwiRmFpbGVkIHRvIGlkZW50aWZ5IHVzZXJcIiwgZXJyKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFwQ29udGV4dFNvdXJjZVRvVjFPcmdDb25maWdHZXRTb3VyY2UgPSAoXG4gICAgc291cmNlOiBDb250ZXh0U291cmNlRW51bSB8IHVuZGVmaW5lZFxuICApOiBWMU9yZ0NvbmZpZ0dldFNvdXJjZUVudW0gfCB1bmRlZmluZWQgPT4ge1xuICAgIGlmIChzb3VyY2UgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBzd2l0Y2ggKHNvdXJjZSkge1xuICAgICAgY2FzZSBDb250ZXh0U291cmNlRW51bS5Gb3JrOlxuICAgICAgICByZXR1cm4gVjFPcmdDb25maWdHZXRTb3VyY2VFbnVtLkZvcms7XG4gICAgICBjYXNlIENvbnRleHRTb3VyY2VFbnVtLlBsYXlncm91bmQ6XG4gICAgICAgIHJldHVybiBWMU9yZ0NvbmZpZ0dldFNvdXJjZUVudW0uUGxheWdyb3VuZDtcbiAgICAgIGNhc2UgQ29udGV4dFNvdXJjZUVudW0uQXBwOlxuICAgICAgICByZXR1cm4gVjFPcmdDb25maWdHZXRTb3VyY2VFbnVtLkFwcDtcbiAgICAgIGNhc2UgQ29udGV4dFNvdXJjZUVudW0uVGVzdDpcbiAgICAgICAgcmV0dXJuIFYxT3JnQ29uZmlnR2V0U291cmNlRW51bS5UZXN0O1xuICAgICAgY2FzZSBDb250ZXh0U291cmNlRW51bS5FdmFsOlxuICAgICAgICByZXR1cm4gVjFPcmdDb25maWdHZXRTb3VyY2VFbnVtLlRlc3Q7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIC8vIFRoaXMgZW5zdXJlcyB0aGF0IGlmIG5ldyB2YWx1ZXMgYXJlIGFkZGVkIHRvIENvbnRleHRTb3VyY2VFbnVtLCB3ZSBjYXRjaCBpdFxuICAgICAgICBjb25zdCBleGhhdXN0aXZlQ2hlY2s6IG5ldmVyID0gc291cmNlO1xuICAgICAgICByZXR1cm4gZXhoYXVzdGl2ZUNoZWNrO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzdGF0aWMgZ2V0T3JnQ29uZmlnID0gYXN5bmMgKFxuICAgIHVzZXJfaWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPE9yZ0NvbmZpZyB8IHVuZGVmaW5lZD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhdG9tU3RvcmUgPSBnZXRBdG9tU3RvcmUoKTtcbiAgICAgIGNvbnN0IHJlYWN0QXBwTmFtZSA9IGF0b21TdG9yZS5nZXQocmVhY3RBcHBOYW1lQXRvbSk7XG4gICAgICBjb25zdCBjb250ZXh0U291cmNlID0gYXRvbVN0b3JlLmdldChjb250ZXh0U291cmNlQXRvbSk7XG4gICAgICBjb25zdCBmZWF0dXJlRmxhZ1NlcnZpY2UgPSBhdG9tU3RvcmUuZ2V0KGZlYXR1cmVGbGFnU2VydmljZUF0b20pOyAvLyBHZXQgZmVhdHVyZUZsYWdTZXJ2aWNlXG4gICAgICBjb25zdCByZXF1ZXN0OiBWMU9yZ0NvbmZpZ0dldFJlcXVlc3QgPSB7XG4gICAgICAgIG5hbWVzcGFjZTogcmVhY3RBcHBOYW1lLFxuICAgICAgICB1c2VyX2lkLFxuICAgICAgICBzb3VyY2U6IHRoaXMubWFwQ29udGV4dFNvdXJjZVRvVjFPcmdDb25maWdHZXRTb3VyY2UoY29udGV4dFNvdXJjZSksXG4gICAgICAgIGluY2x1ZGVfZXhwZXJpbWVudHM6IE9iamVjdC52YWx1ZXMoUHJvZHVjdEV4cGVyaW1lbnQpLFxuICAgICAgICBpbmNsdWRlX2ZlYXR1cmVfZ2F0ZXM6IE9iamVjdC5lbnRyaWVzKFxuICAgICAgICAgIGZlYXR1cmVGbGFnU2VydmljZT8uZmVhdHVyZUZsYWdTZXJ2aWNlPy5nZXRGZWF0dXJlRmxhZ3MoKSB8fCB7fVxuICAgICAgICApXG4gICAgICAgICAgLmZpbHRlcigoWywgaXNFbmFibGVkXSkgPT4gaXNFbmFibGVkKVxuICAgICAgICAgIC5tYXAoKFtmZWF0dXJlR2F0ZU5hbWVdKSA9PiBmZWF0dXJlR2F0ZU5hbWUpLCAvLyBVc2UgZmVhdHVyZUZsYWdTZXJ2aWNlXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRJbnN0YW5jZSgpLmRlZmF1bHRBcGkudjFPcmdDb25maWdHZXQoXG4gICAgICAgICAgcmVxdWVzdFxuICAgICAgICApO1xuXG4gICAgICByZXR1cm4gdmFsaWRhdGVPcmdDb25maWdSZXN1bHRzKHJlc3BvbnNlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIExvZ2dlci5sb2dFcnJvcihgRmFpbGVkIHRvIGdldCBvcmcgY29uZmlnYCwgZXJyLCB7IGVyciB9KTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xuXG4gIHN0YXRpYyBhZGROb3RlVG9MYXRlc3RDb252ZXJzYXRpb24gPSBhc3luYyAoXG4gICAgc3BpZmZ5VXNlcklkOiBzdHJpbmcsXG4gICAgZW1haWw6IHN0cmluZyxcbiAgICBjdXN0b21lclNlcnZpY2VQcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlUHJvdmlkZXJcbiAgKSA9PiB7XG4gICAgTG9nZ2VyLmxvZ0luZm8oXG4gICAgICBgYWRkTm90ZVRvTGF0ZXN0Q29udmVyc2F0aW9uIC0gdXNlcl9pZD0ke3NwaWZmeVVzZXJJZH0gZW1haWw9JHtlbWFpbH0gY3VzdG9tZXJfc2VydmljZV9wcm92aWRlcj0ke2N1c3RvbWVyU2VydmljZVByb3ZpZGVyfWBcbiAgICApO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRJbnN0YW5jZSgpLmN1c3RvbWVyU2VydmljZUFwaS52MUN1c3RzZXJ2aWNlQWRkTm90ZVRvTGF0ZXN0Q29udmVyc2F0aW9uUG9zdChcbiAgICAgICAge1xuICAgICAgICAgIEFkZE5vdGVUb0xhdGVzdENvbnZlcnNhdGlvblJlcXVlc3Q6IHtcbiAgICAgICAgICAgIHNwaWZmeV91c2VyX2lkOiBzcGlmZnlVc2VySWQsXG4gICAgICAgICAgICBlbWFpbCxcbiAgICAgICAgICAgIGN1c3RvbWVyX3NlcnZpY2VfcHJvdmlkZXI6IGN1c3RvbWVyU2VydmljZVByb3ZpZGVyLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBMb2dnZXIubG9nRXJyb3IoXCJGYWlsZWQgdG8gYWRkIG5vdGUgdG8gbGF0ZXN0IGNvbnZlcnNhdGlvblwiLCB7IGVyciB9KTtcbiAgICB9XG4gIH07XG5cbiAgc3RhdGljIGdldEN1c3RvbWVyU2VydmljZUFwaSA9ICgpID0+XG4gICAgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SW5zdGFuY2UoKS5jdXN0b21lclNlcnZpY2VBcGk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbW1lcmNlQXBpQ2xpZW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBeURBLGVBQWUsa0JBQWtCLE9BQXNCO0FBQ3JELEtBQUk7QUFDRixTQUFPLE1BQU0sTUFBTSxTQUFTLE1BQU07U0FDNUI7QUFDTixTQUFPLEVBQUU7OztBQUliLGVBQWUsOEJBQThCLFVBQWtCLE9BQWdCO0FBQzdFLEtBQUksRUFBRSxpQkFBaUJBLGdEQUFnQjtBQUNyQyxnQ0FBTyxRQUFRLFVBQVUsTUFBTTtBQUMvQixRQUFNOztDQUdSLE1BQU0sZ0JBQWdCLE1BQU0sa0JBQWtCLE1BQU07QUFDcEQsS0FDRSxlQUFlLFNBQVMsYUFBYSxLQUFLLHlCQUMxQyxlQUFlLFVBQVUsYUFBYSxLQUFLLG9CQUUzQyxPQUFNLElBQUlDLGtFQUE2QjtVQUV2QyxlQUFlLFVBQVUs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