@envive-ai/react-hooks 0.1.2 → 0.1.4

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 (411) hide show
  1. package/dist/adapters/amplitude/index.cjs +8 -8
  2. package/dist/adapters/amplitude/index.d.cts +5 -3
  3. package/dist/adapters/amplitude/index.d.ts +5 -3
  4. package/dist/adapters/amplitude/index.js +5 -5
  5. package/dist/api-B2euFL-5.cjs +2 -1
  6. package/dist/api-XRr_lAG6.js +2 -1
  7. package/dist/application/config/index.cjs +14 -5
  8. package/dist/application/config/index.d.cts +2 -1
  9. package/dist/application/config/index.d.ts +2 -1
  10. package/dist/application/config/index.js +14 -5
  11. package/dist/application/models/graphql/index.cjs +7 -7
  12. package/dist/application/models/graphql/index.d.cts +1 -1
  13. package/dist/application/models/graphql/index.d.ts +1 -1
  14. package/dist/application/models/graphql/index.js +5 -5
  15. package/dist/application/models/guards/api/index.d.cts +2 -2
  16. package/dist/application/models/guards/api/index.d.ts +2 -2
  17. package/dist/application/models/index.cjs +49 -49
  18. package/dist/application/models/index.d.cts +8 -9
  19. package/dist/application/models/index.d.ts +8 -9
  20. package/dist/application/models/index.js +5 -5
  21. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  22. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  23. package/dist/application/models/variantInfo/index.d.cts +1 -1
  24. package/dist/application/models/variantInfo/index.d.ts +1 -1
  25. package/dist/application/service/customerService/index.cjs +1 -1
  26. package/dist/application/service/customerService/index.d.cts +2 -2
  27. package/dist/application/service/customerService/index.d.ts +2 -2
  28. package/dist/application/service/customerService/index.js +1 -1
  29. package/dist/application/service/index.cjs +30 -750
  30. package/dist/application/service/index.d.cts +14 -22
  31. package/dist/application/service/index.d.ts +14 -22
  32. package/dist/application/service/index.js +7 -722
  33. package/dist/application/utils/index.cjs +32 -32
  34. package/dist/application/utils/index.d.cts +13 -13
  35. package/dist/application/utils/index.d.ts +11 -11
  36. package/dist/application/utils/index.js +5 -5
  37. package/dist/atomStore-B1cgmbP0.js +32 -0
  38. package/dist/atomStore-JwGb7pcy.cjs +58 -0
  39. package/dist/atoms/app/index.cjs +11 -11
  40. package/dist/atoms/app/index.d.cts +11 -11
  41. package/dist/atoms/app/index.d.ts +11 -11
  42. package/dist/atoms/app/index.js +5 -5
  43. package/dist/atoms/atomStore/index.cjs +1 -2
  44. package/dist/atoms/atomStore/index.d.cts +2 -1
  45. package/dist/atoms/atomStore/index.d.ts +2 -1
  46. package/dist/atoms/atomStore/index.js +1 -2
  47. package/dist/atoms/chat/index.cjs +35 -35
  48. package/dist/atoms/chat/index.d.cts +37 -37
  49. package/dist/atoms/chat/index.d.ts +10 -10
  50. package/dist/atoms/chat/index.js +5 -5
  51. package/dist/atoms/globalSearch/index.cjs +1 -1
  52. package/dist/atoms/globalSearch/index.d.cts +7 -6
  53. package/dist/atoms/globalSearch/index.d.ts +7 -6
  54. package/dist/atoms/globalSearch/index.js +1 -1
  55. package/dist/atoms/org/index.cjs +32 -35
  56. package/dist/atoms/org/index.d.cts +32 -53
  57. package/dist/atoms/org/index.d.ts +31 -52
  58. package/dist/atoms/org/index.js +6 -7
  59. package/dist/atoms/search/index.cjs +36 -38
  60. package/dist/atoms/search/index.d.cts +9 -10
  61. package/dist/atoms/search/index.d.ts +9 -10
  62. package/dist/atoms/search/index.js +5 -7
  63. package/dist/bandolier-B76-OE75.cjs +1230 -0
  64. package/dist/bandolier-DRn_x1g1.js +1230 -0
  65. package/dist/carpe-kHi4RLB5.cjs +608 -0
  66. package/dist/carpe-qrSU99gq.js +606 -0
  67. package/dist/{chat-CCgyDehy.cjs → chat-BgONoYU7.cjs} +2 -1
  68. package/dist/chat-CLJ4NWcN.js +26 -0
  69. package/dist/{components-CScS7Ii-.cjs → components-BKZbet67.cjs} +2 -1
  70. package/dist/components-CV1fhAkj.js +11 -0
  71. package/dist/config/locators/components/chat/index.cjs +1 -1
  72. package/dist/config/locators/components/chat/index.d.cts +1 -1
  73. package/dist/config/locators/components/chat/index.d.ts +1 -1
  74. package/dist/config/locators/components/chat/index.js +1 -1
  75. package/dist/config/locators/components/chat/variants/index.cjs +2 -1
  76. package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
  77. package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
  78. package/dist/config/locators/components/chat/variants/index.js +2 -1
  79. package/dist/config/locators/components/index.cjs +1 -1
  80. package/dist/config/locators/components/index.d.cts +1 -1
  81. package/dist/config/locators/components/index.d.ts +1 -1
  82. package/dist/config/locators/components/index.js +1 -1
  83. package/dist/config/locators/components/search/index.cjs +2 -1
  84. package/dist/config/locators/components/search/index.d.cts +2 -1
  85. package/dist/config/locators/components/search/index.d.ts +2 -1
  86. package/dist/config/locators/components/search/index.js +2 -1
  87. package/dist/config/locators/index.cjs +4 -4
  88. package/dist/config/locators/index.d.cts +4 -3
  89. package/dist/config/locators/index.d.ts +4 -3
  90. package/dist/config/locators/index.js +4 -4
  91. package/dist/contexts/index.cjs +10 -13
  92. package/dist/contexts/index.d.cts +41 -22
  93. package/dist/contexts/index.d.ts +41 -22
  94. package/dist/contexts/index.js +6 -12
  95. package/dist/contexts-CQDwe3rK.cjs +14333 -0
  96. package/dist/contexts-e2sM-B9g.js +12919 -0
  97. package/dist/coterie-mMirPcHP.js +240 -0
  98. package/dist/coterie-yQ-_JXSw.cjs +240 -0
  99. package/dist/customerService-BG1uNZZ1.cjs +36 -0
  100. package/dist/customerService-BHQRnLhC.js +23 -0
  101. package/dist/custservice-types-C83itZmy.cjs +35 -0
  102. package/dist/custservice-types-DPQ-4TI6.js +23 -0
  103. package/dist/default-8Jfv8ehQ.cjs +199 -0
  104. package/dist/default-C8PQf-38.js +176 -0
  105. package/dist/default-LukSiCz1.js +4 -0
  106. package/dist/default-rJSJ887P.cjs +4 -0
  107. package/dist/divIds-CWkntTsx.js +23 -0
  108. package/dist/{divIds-CFyAjjp3.cjs → divIds-DEL_-qU0.cjs} +2 -1
  109. package/dist/dreamlandBaby-DHltv12Z.cjs +347 -0
  110. package/dist/dreamlandBaby-cG0HM9bt.js +347 -0
  111. package/dist/{embedded-BlXJUbik.cjs → embedded--2L0F4b5.cjs} +2 -1
  112. package/dist/embedded-C5uJqmuD.js +23 -0
  113. package/dist/entrypoints-CNUvSgnk.js +7 -0
  114. package/dist/entrypoints-DM9Sm18O.cjs +19 -0
  115. package/dist/events/index.d.cts +2 -1
  116. package/dist/events/index.d.ts +2 -1
  117. package/dist/events-ClCDFK7t.js +2 -1
  118. package/dist/events-Da7gpmGv.cjs +2 -1
  119. package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
  120. package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
  121. package/dist/fiveCbd-Cvnwh03g.cjs +614 -0
  122. package/dist/fiveCbd-DhYMlsf9.js +614 -0
  123. package/dist/forLoveAndLemons-C8DuUexW.js +666 -0
  124. package/dist/forLoveAndLemons-DR6a1zjJ.cjs +668 -0
  125. package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
  126. package/dist/globalSearch-b0wC7ZEO.js +14 -0
  127. package/dist/greenpan-B4Pu65kV.js +398 -0
  128. package/dist/greenpan-BL5p6j7f.cjs +398 -0
  129. package/dist/grooveLife-DjKWHoN3.cjs +343 -0
  130. package/dist/grooveLife-JK0TyaPz.js +343 -0
  131. package/dist/homegrownCannabis-DxqSDkmS.js +411 -0
  132. package/dist/homegrownCannabis-ZnfCqW-m.cjs +411 -0
  133. package/dist/hooks/index.cjs +11 -11
  134. package/dist/hooks/index.d.cts +30 -21
  135. package/dist/hooks/index.d.ts +30 -21
  136. package/dist/hooks/index.js +6 -12
  137. package/dist/index-BTK5uzs6.d.cts +98 -0
  138. package/dist/index-BfuO9b0Q.d.ts +749 -0
  139. package/dist/index-BzgkfbNO.d.cts +228 -0
  140. package/dist/index-C62lPpy4.d.cts +25 -0
  141. package/dist/index-CExtydIH.d.ts +9 -0
  142. package/dist/index-CKKkTsms.d.ts +39 -0
  143. package/dist/index-CNsGWfS6.d.cts +749 -0
  144. package/dist/index-CYtsPztZ.d.cts +203 -0
  145. package/dist/index-C_C0tLeD.d.ts +203 -0
  146. package/dist/index-ClJ0nMsR.d.cts +184 -0
  147. package/dist/index-Cx9e-fRi.d.ts +184 -0
  148. package/dist/index-D2VaMPA3.d.ts +98 -0
  149. package/dist/index-D46Rd0io.d.cts +39 -0
  150. package/dist/index-DFL1dIT_.d.ts +7 -0
  151. package/dist/index-DPx8s5YH.d.ts +25 -0
  152. package/dist/index-Dxpscrvz.d.ts +228 -0
  153. package/dist/index-MFbPQ8Ji.d.ts +95 -0
  154. package/dist/index-VSFakgAI.d.cts +95 -0
  155. package/dist/index-jBATkcc_.d.cts +9 -0
  156. package/dist/index-zZjcds15.d.cts +7 -0
  157. package/dist/interceptors/index.cjs +7 -8
  158. package/dist/interceptors/index.d.cts +10 -10
  159. package/dist/interceptors/index.d.ts +10 -10
  160. package/dist/interceptors/index.js +5 -6
  161. package/dist/jackArcher-CXf_IAmC.js +728 -0
  162. package/dist/jackArcher-mGkojXek.cjs +728 -0
  163. package/dist/jordanCraig-BvCvPRoR.js +1787 -0
  164. package/dist/jordanCraig-Dv8pVCiS.cjs +1787 -0
  165. package/dist/kindredBravely-UQP7wiNu.cjs +491 -0
  166. package/dist/kindredBravely-X8F_LNph.js +491 -0
  167. package/dist/kutFromTheKloth-BhYKk3CN.cjs +370 -0
  168. package/dist/kutFromTheKloth-D1xsTSJr.js +370 -0
  169. package/dist/larryAndSerges-1411NuZa.cjs +262 -0
  170. package/dist/larryAndSerges-DVIRLItu.js +262 -0
  171. package/dist/leapsAndRebounds-BJ8mwr33.js +361 -0
  172. package/dist/leapsAndRebounds-UcP9EJVO.cjs +361 -0
  173. package/dist/logger-Dln20ans.cjs +2 -1
  174. package/dist/logger-pdEEY8T2.js +2 -1
  175. package/dist/longevityrx-BFSv9GF5.cjs +321 -0
  176. package/dist/longevityrx-Cp6wleWr.js +321 -0
  177. package/dist/lookOptic-BGhU4910.js +283 -0
  178. package/dist/lookOptic-KieSqskd.cjs +283 -0
  179. package/dist/mantraBrand-CHQw-0nw.cjs +751 -0
  180. package/dist/mantraBrand-DrqG9uqO.js +751 -0
  181. package/dist/medterra-CLG6Co1C.cjs +584 -0
  182. package/dist/medterra-D8ZX9NZC.js +584 -0
  183. package/dist/modells-BzyPwN2m.cjs +485 -0
  184. package/dist/modells-CAfqOCW4.js +485 -0
  185. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  186. package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
  187. package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
  188. package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
  189. package/dist/pressedFloral-DULBuQwR.cjs +662 -0
  190. package/dist/pressedFloral-Dp-7Fk3S.js +662 -0
  191. package/dist/search-filter-types-BNTLVXqQ.d.cts +102 -0
  192. package/dist/search-filter-types-DkmH1TxJ.d.ts +102 -0
  193. package/dist/skinPerfection-BxuYCeJX.js +335 -0
  194. package/dist/skinPerfection-Cd3XZ6By.cjs +335 -0
  195. package/dist/snapSupplements-Bf6htPM0.js +286 -0
  196. package/dist/snapSupplements-ZFnXyMuZ.cjs +286 -0
  197. package/dist/socialProofClasses-DdzG1tZy.js +10 -0
  198. package/dist/socialProofClasses-ky69yppk.cjs +40 -0
  199. package/dist/spanx-CwDPQaGj.js +662 -0
  200. package/dist/spanx-Cyd4qDlK.cjs +664 -0
  201. package/dist/spanxStaging-D43nyAGy.js +846 -0
  202. package/dist/spanxStaging-ijbYnHzr.cjs +849 -0
  203. package/dist/suggestionBarV2-types-CwOXzIKq.js +10 -0
  204. package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-Dc4-zJlV.cjs} +2 -1
  205. package/dist/supergoop-BnbFG7hm.cjs +338 -0
  206. package/dist/supergoop-CY043wIg.js +336 -0
  207. package/dist/test-types-CXVJxTeu.d.ts +40 -0
  208. package/dist/test-types-CuOq25VT.d.cts +40 -0
  209. package/dist/types/index.cjs +2 -2
  210. package/dist/types/index.d.cts +3 -3
  211. package/dist/types/index.d.ts +3 -3
  212. package/dist/types/index.js +2 -2
  213. package/dist/types-BF_CJeck.js +177 -0
  214. package/dist/types-CD4LFta-.d.cts +33 -0
  215. package/dist/types-CNH4sfF-.cjs +231 -0
  216. package/dist/types-DBdI0j89.d.ts +33 -0
  217. package/dist/uniqueVintage-Cui74mlJ.js +1212 -0
  218. package/dist/uniqueVintage-R2Jcu1y1.cjs +1214 -0
  219. package/dist/variant-CKVRF2-W.d.ts +13 -0
  220. package/dist/variant-raYuOP4L.d.cts +13 -0
  221. package/dist/venaCbd-o5_vOp4e.js +366 -0
  222. package/dist/venaCbd-r-IxEVc1.cjs +366 -0
  223. package/dist/westonJonBoucher-C95EuCl-.js +423 -0
  224. package/dist/westonJonBoucher-DjGEW3ZB.cjs +423 -0
  225. package/dist/wineEnthusiast-DeTFY8Gm.js +941 -0
  226. package/dist/wineEnthusiast-DvfcV5B3.cjs +941 -0
  227. package/dist/wolfMattress-6xPfOJt3.js +373 -0
  228. package/dist/wolfMattress-BjGnGKjP.cjs +373 -0
  229. package/dist/wolfTactical-Bi3WZu0m.cjs +350 -0
  230. package/dist/wolfTactical-C_F9-oPX.js +350 -0
  231. package/package.json +1 -1
  232. package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
  233. package/src/adapters/spiffy/commerce/api.ts +17 -8
  234. package/src/adapters/spiffy/commerce/graphql.ts +16 -5
  235. package/src/application/config/generalStaticConfig.ts +5 -2
  236. package/src/application/models/api/orgConfigResults.ts +6 -2
  237. package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
  238. package/src/application/service/cdnService.ts +4 -2
  239. package/src/application/service/index.ts +0 -1
  240. package/src/application/service/pageVariantService.ts +5 -5
  241. package/src/application/service/searchService.ts +9 -2
  242. package/src/application/service/windowChatToggleService.ts +28 -19
  243. package/src/application/service/windowFrontendConfigService.ts +7 -4
  244. package/src/atoms/app/index.ts +26 -17
  245. package/src/atoms/app/variant.ts +1 -0
  246. package/src/atoms/chat/messageQueue.ts +1 -1
  247. package/src/atoms/envive/enviveConfig.ts +81 -0
  248. package/src/atoms/org/graphqlConfig.ts +29 -11
  249. package/src/atoms/org/merchantCss.ts +114 -0
  250. package/src/atoms/org/org.ts +101 -64
  251. package/src/atoms/org/orgPageConfig.ts +9 -6
  252. package/src/atoms/org/orgUIConfig.ts +22 -9
  253. package/src/atoms/search/chatSearch.ts +85 -67
  254. package/src/contexts/chatContext.tsx +4 -1
  255. package/src/contexts/enviveConfigContext.tsx +37 -26
  256. package/src/contexts/enviveCssContext.tsx +20 -0
  257. package/src/contexts/index.ts +2 -0
  258. package/src/contexts/orgConfigContext.tsx +106 -0
  259. package/src/contexts/systemSettingsContext.tsx +22 -9
  260. package/src/contexts/types.ts +12 -9
  261. package/src/hooks/index.ts +1 -0
  262. package/src/hooks/useSearch.tsx +16 -9
  263. package/src/hooks/utils.ts +1 -1
  264. package/src/interceptors/useFormEscalation.ts +26 -9
  265. package/src/types/search-filter-types.ts +7 -7
  266. package/src/types.ts +0 -2
  267. package/dist/api-CxGedDxj.cjs +0 -5057
  268. package/dist/api-NJEaveju.js +0 -4113
  269. package/dist/atomStore-BFtpknLM.js +0 -31
  270. package/dist/atomStore-CeJm9Llb.cjs +0 -57
  271. package/dist/bandolier-C7PAIw02.js +0 -1230
  272. package/dist/bandolier-oMkFDJMF.cjs +0 -1230
  273. package/dist/carpe-C0ccKuR9.cjs +0 -608
  274. package/dist/carpe-DFc78_lJ.js +0 -606
  275. package/dist/cdnService-DvDSpfVJ.js +0 -18
  276. package/dist/cdnService-dJU3sHpF.cjs +0 -23
  277. package/dist/chat-Dk6KPb1K.js +0 -25
  278. package/dist/components-DAQxVIn9.js +0 -10
  279. package/dist/contexts-DO75-Kmx.js +0 -7152
  280. package/dist/contexts-iAzSvZjb.cjs +0 -7331
  281. package/dist/coterie-BGT8hqFR.js +0 -240
  282. package/dist/coterie-Cp9FAJTQ.cjs +0 -240
  283. package/dist/customerService-CUyZzowx.js +0 -22
  284. package/dist/customerService-DqPw_XKf.cjs +0 -35
  285. package/dist/custservice-types-D8Npo-5Z.js +0 -22
  286. package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
  287. package/dist/default-BAXPatxf.cjs +0 -198
  288. package/dist/default-BR3225LZ.js +0 -4
  289. package/dist/default-DR6YjE9B.cjs +0 -4
  290. package/dist/default-wf_IORgo.js +0 -175
  291. package/dist/divIds-BWvq-i6I.js +0 -22
  292. package/dist/dreamlandBaby-BzuMvUFS.cjs +0 -347
  293. package/dist/dreamlandBaby-DZvM81LQ.js +0 -347
  294. package/dist/embedded-C1jvFj3v.js +0 -22
  295. package/dist/entrypoints-CmmOszXO.js +0 -6
  296. package/dist/entrypoints-fowCLUT2.cjs +0 -18
  297. package/dist/enviveConfigContext-CUGLpPGU.js +0 -34
  298. package/dist/enviveConfigContext-Dfr2VH6u.cjs +0 -48
  299. package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
  300. package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
  301. package/dist/featureGates-BMWXU0dS.d.ts +0 -90
  302. package/dist/featureGates-N_gyHCTn.d.cts +0 -90
  303. package/dist/fiveCbd-DE-tDY3d.cjs +0 -614
  304. package/dist/fiveCbd-HNBPqPtX.js +0 -614
  305. package/dist/forLoveAndLemons-BKmJJ9pq.js +0 -666
  306. package/dist/forLoveAndLemons-BeVEBOiu.cjs +0 -668
  307. package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
  308. package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
  309. package/dist/globalSearch-BC0rOX3E.js +0 -13
  310. package/dist/greenpan-BX1viAZB.js +0 -398
  311. package/dist/greenpan-chd3aa5I.cjs +0 -398
  312. package/dist/grooveLife-CHot3rZw.js +0 -343
  313. package/dist/grooveLife-DEob7rK0.cjs +0 -343
  314. package/dist/homegrownCannabis-CoIjcehi.cjs +0 -411
  315. package/dist/homegrownCannabis-CwkS1qDA.js +0 -411
  316. package/dist/index-BdNKc2ix.d.cts +0 -8
  317. package/dist/index-BkhvV8RZ.d.cts +0 -202
  318. package/dist/index-BrXuc_Ck.d.cts +0 -24
  319. package/dist/index-C4zjAR1c.d.cts +0 -227
  320. package/dist/index-CGB6CAmr.d.ts +0 -6
  321. package/dist/index-CIco0cCQ.d.ts +0 -183
  322. package/dist/index-COG1kOZG.d.ts +0 -749
  323. package/dist/index-CVxe7FpL.d.cts +0 -6
  324. package/dist/index-Cn1SeI5y.d.cts +0 -183
  325. package/dist/index-Cqg6ltII.d.ts +0 -38
  326. package/dist/index-CzMrMKx-.d.ts +0 -202
  327. package/dist/index-DE_7Q8qK.d.ts +0 -94
  328. package/dist/index-Da0UzyI9.d.ts +0 -24
  329. package/dist/index-DbWWcYax.d.cts +0 -749
  330. package/dist/index-DtoVXd6O.d.cts +0 -97
  331. package/dist/index-JClBRnSX.d.cts +0 -94
  332. package/dist/index-ghzD_356.d.ts +0 -8
  333. package/dist/index-hdbCEjYy.d.cts +0 -38
  334. package/dist/index-luJrHgPN.d.ts +0 -97
  335. package/dist/index-tfRj22E1.d.ts +0 -227
  336. package/dist/jackArcher-BA-pkB4A.js +0 -728
  337. package/dist/jackArcher-bewC0q1T.cjs +0 -728
  338. package/dist/jordanCraig-B5k9nlAw.cjs +0 -1787
  339. package/dist/jordanCraig-BsQ1mYbt.js +0 -1787
  340. package/dist/kindredBravely-BxYkCpGY.js +0 -491
  341. package/dist/kindredBravely-DsN0fo3s.cjs +0 -491
  342. package/dist/kutFromTheKloth-BQTCu3ct.cjs +0 -370
  343. package/dist/kutFromTheKloth-bukOQM3P.js +0 -370
  344. package/dist/larryAndSerges-D1ecaT5a.js +0 -261
  345. package/dist/larryAndSerges-bj7fgy9b.cjs +0 -261
  346. package/dist/leapsAndRebounds-BfneG_0c.cjs +0 -361
  347. package/dist/leapsAndRebounds-DhNpZETg.js +0 -361
  348. package/dist/locators-C2DX_nX6.js +0 -1
  349. package/dist/locators-CUpyd9Wt.cjs +0 -0
  350. package/dist/longevityrx-CnoGcw0w.js +0 -321
  351. package/dist/longevityrx-D0goIuX0.cjs +0 -321
  352. package/dist/lookOptic-C4afLPZP.cjs +0 -283
  353. package/dist/lookOptic-uJWIKpER.js +0 -283
  354. package/dist/mantraBrand-8JUlYtCE.cjs +0 -751
  355. package/dist/mantraBrand-DuwKHM26.js +0 -751
  356. package/dist/medterra-BQec8rzn.js +0 -584
  357. package/dist/medterra-DH067P-V.cjs +0 -584
  358. package/dist/modells-DAgLE2xo.js +0 -485
  359. package/dist/modells-DUFnLmAz.cjs +0 -485
  360. package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
  361. package/dist/nodeSelector-vKB44CDB.d.cts +0 -30
  362. package/dist/org-C11APG3v.js +0 -63
  363. package/dist/org-CnHL2I9B.cjs +0 -106
  364. package/dist/pressedFloral-DVZVfOSQ.cjs +0 -662
  365. package/dist/pressedFloral-MdbuoRyA.js +0 -662
  366. package/dist/search-CvHb1M3S.js +0 -542
  367. package/dist/search-bSYdOBhY.cjs +0 -743
  368. package/dist/search-filter-types-BsJjrxk0.d.ts +0 -101
  369. package/dist/search-filter-types-CqaGK3nM.d.cts +0 -101
  370. package/dist/skinPerfection-BcEWICQN.cjs +0 -335
  371. package/dist/skinPerfection-bGiYxq1i.js +0 -335
  372. package/dist/snapSupplements-BXSXTjqF.cjs +0 -286
  373. package/dist/snapSupplements-D7hHhdC9.js +0 -286
  374. package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
  375. package/dist/socialProofClasses-CkJufEGb.js +0 -9
  376. package/dist/spanx-5-0yX3iK.js +0 -662
  377. package/dist/spanx-lUzP6Lva.cjs +0 -664
  378. package/dist/spanxStaging-HglCMJag.js +0 -846
  379. package/dist/spanxStaging-hreMR0MS.cjs +0 -849
  380. package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
  381. package/dist/supergoop-C9DDT3lY.js +0 -335
  382. package/dist/supergoop-CkjtuRck.cjs +0 -337
  383. package/dist/test-types-C9b_OdfO.d.ts +0 -39
  384. package/dist/test-types-CpKCxk8U.d.cts +0 -39
  385. package/dist/types-BE4faOO_.d.cts +0 -32
  386. package/dist/types-BUjohkXp.cjs +0 -230
  387. package/dist/types-BVsTRyxL.js +0 -176
  388. package/dist/types-TD8g7LnH.d.ts +0 -32
  389. package/dist/uniqueVintage-DIMGtYAU.cjs +0 -1214
  390. package/dist/uniqueVintage-DPWA5Ed6.js +0 -1212
  391. package/dist/useMessageInterceptor-B-P_rw73.cjs +0 -72
  392. package/dist/useMessageInterceptor-C2RZM-fo.js +0 -57
  393. package/dist/variant-BGjOVpY3.d.cts +0 -12
  394. package/dist/variant-XITncuI3.d.ts +0 -12
  395. package/dist/venaCbd-B-znfAsl.js +0 -366
  396. package/dist/venaCbd-BOwOtpOz.cjs +0 -366
  397. package/dist/westonJonBoucher-CraTzRVt.cjs +0 -423
  398. package/dist/westonJonBoucher-DCRagGu3.js +0 -423
  399. package/dist/wineEnthusiast-Bv7umajk.js +0 -941
  400. package/dist/wineEnthusiast-sVuATrq6.cjs +0 -941
  401. package/dist/wolfMattress-BUH-Rhov.js +0 -373
  402. package/dist/wolfMattress-DpVHIEnJ.cjs +0 -373
  403. package/dist/wolfTactical-BcvF_sy-.cjs +0 -350
  404. package/dist/wolfTactical-Q14A1fpw.js +0 -350
  405. package/src/application/service/environmentService.ts +0 -51
  406. package/src/extension.ts +0 -63
  407. package/src/initialize.ts +0 -163
  408. package/src/main.tsx +0 -108
  409. package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
  410. /package/dist/{atomStore-FSZd_20F.js → locators-Dc5ZT0aF.js} +0 -0
  411. /package/dist/{atomStore-B3tsg6mF.cjs → locators-lQMJj830.cjs} +0 -0
@@ -0,0 +1,398 @@
1
+ require('./logger-Dln20ans.cjs');
2
+ require('./api-B2euFL-5.cjs');
3
+ const require_contexts = require('./contexts-CQDwe3rK.cjs');
4
+ const require_types = require('./types-CNH4sfF-.cjs');
5
+ require('./atomStore-JwGb7pcy.cjs');
6
+ require('./customerService-BG1uNZZ1.cjs');
7
+ require('./globalSearch-BTeZxvk1.cjs');
8
+ require('./utilityTypes-C4h2wgAK.cjs');
9
+ require('./variantInfo-CNRTY0gH.cjs');
10
+ require('./events-Da7gpmGv.cjs');
11
+ const require_suggestionBarV2_types = require('./suggestionBarV2-types-Dc4-zJlV.cjs');
12
+ const require_divIds = require('./divIds-DEL_-qU0.cjs');
13
+ require('./chat-BgONoYU7.cjs');
14
+ require('./components-BKZbet67.cjs');
15
+ const require_embedded = require('./embedded--2L0F4b5.cjs');
16
+ require('./locators-lQMJj830.cjs');
17
+ const require_default = require('./default-8Jfv8ehQ.cjs');
18
+
19
+ //#region src/merchants/greenpan/greenpan.ts
20
+ const greenpanColors = {
21
+ [require_types.ColorNames.TextPrimary]: "#19341A",
22
+ [require_types.ColorNames.TextSecondary]: "#404040",
23
+ [require_types.ColorNames.TextAccent]: "#78A230",
24
+ [require_types.ColorNames.TextLink]: "#19341A",
25
+ [require_types.ColorNames.TextLight]: "#FFFFFF",
26
+ [require_types.ColorNames.BackgroundPrimary]: "#19341A",
27
+ [require_types.ColorNames.BackgroundSecondary]: "#F8F7F1",
28
+ [require_types.ColorNames.BackgroundSecondaryDark]: "#E4E3DE",
29
+ [require_types.ColorNames.BackgroundTertiary]: "#F8F7F1",
30
+ [require_types.ColorNames.BackgroundDark]: "#19341A",
31
+ [require_types.ColorNames.BackgroundLight]: "#FFFFFF",
32
+ [require_types.ColorNames.BackgroundSaturated]: "#19341A",
33
+ [require_types.ColorNames.BorderLight]: "#ECECEE",
34
+ [require_types.ColorNames.BorderMedium]: "#CDCDCD",
35
+ [require_types.ColorNames.BorderDark]: "#949494",
36
+ [require_types.ColorNames.BorderOutline]: "#19341A",
37
+ [require_types.ColorNames.AccentPrimary]: "#78A230",
38
+ [require_types.ColorNames.AccentSecondary]: "#78A230"
39
+ };
40
+ const greenpanOrgUIConfig = () => {
41
+ const defaultGreenpanOrgConfig = require_default.defaultOrgUIConfig(require_types.OrgShortName.Greenpan);
42
+ return {
43
+ ...defaultGreenpanOrgConfig,
44
+ chatMessageConfig: {
45
+ ...defaultGreenpanOrgConfig.chatMessageConfig,
46
+ assistantChatTitle: "GreenPan AI",
47
+ productLink: {
48
+ ...defaultGreenpanOrgConfig.chatMessageConfig.productLink,
49
+ iconVariant: "backgroundPrimary"
50
+ }
51
+ },
52
+ chatHeader: {
53
+ ...defaultGreenpanOrgConfig.chatHeader,
54
+ imageSrc: require_contexts.CdnService.getAssetURL("greenpan-round.png", require_types.OrgShortName.Greenpan)
55
+ },
56
+ chatPreviewConfig: {
57
+ ...defaultGreenpanOrgConfig.chatPreviewConfig,
58
+ iconFillColor: require_types.colorVar(require_types.ColorNames.AccentPrimary),
59
+ buttonTextColor: require_types.colorVar(require_types.ColorNames.BorderOutline),
60
+ buttonTextHoverColor: require_types.colorVar(require_types.ColorNames.TextLink),
61
+ buttonBackgroundColor: require_types.colorVar(require_types.ColorNames.BackgroundSecondary),
62
+ buttonBackgroundHoverColor: require_types.colorVar(require_types.ColorNames.BackgroundLight),
63
+ buttonTextSecondaryColor: require_types.colorVar(require_types.ColorNames.TextLight),
64
+ buttonBorderColor: require_types.colorVar(require_types.ColorNames.BackgroundSecondary),
65
+ buttonBorderHoverColor: require_types.colorVar(require_types.ColorNames.TextLink),
66
+ topMargin: 10,
67
+ copies: {
68
+ plp: [
69
+ "the perfect cookware for you?",
70
+ "our best-selling cutlery collection?",
71
+ "the right small appliance for hosting?",
72
+ "oven-safe cooking options?",
73
+ "how it compares to other collections?"
74
+ ],
75
+ pdp: [
76
+ "what other customers love about it?",
77
+ "how to care for it?",
78
+ "what are its dimensions?",
79
+ "how it compares to other collections?"
80
+ ]
81
+ },
82
+ staticSuggestionCopies: {
83
+ plp: [
84
+ "What are the best-selling cookware products?",
85
+ "Which products are induction ready?",
86
+ "What small appliances are perfect for entertaining?",
87
+ "What are the best-selling tools?",
88
+ "What bakeware is right for me?",
89
+ "How does this compare to other collections?"
90
+ ],
91
+ pdp: [
92
+ "Summarize the reviews",
93
+ "What are this product's unique features?",
94
+ "How do I care for this product?",
95
+ "How should I use this product?",
96
+ "How does this compare to other collections?"
97
+ ]
98
+ },
99
+ headerConfig: {
100
+ ...defaultGreenpanOrgConfig.chatPreviewConfig.headerConfig,
101
+ imageHeight: 32,
102
+ imageSrc: require_contexts.CdnService.getAssetURL("greenpan-logo.svg", require_types.OrgShortName.Greenpan)
103
+ },
104
+ footerConfig: {
105
+ ...defaultGreenpanOrgConfig.chatPreviewConfig.footerConfig,
106
+ suggestionButtonVariant: "dark",
107
+ replyButtonIcon: "magnifyingGlass"
108
+ }
109
+ },
110
+ floatingEntrypointConfig: {
111
+ ...defaultGreenpanOrgConfig.floatingEntrypointConfig,
112
+ showOption: "always",
113
+ expandedColor: require_types.colorVar(require_types.ColorNames.BorderOutline),
114
+ expansionText: {
115
+ pdp: "Hear from others who've cooked with it!",
116
+ plp: "What do customers say?"
117
+ }
118
+ },
119
+ productCardConfig: { ...defaultGreenpanOrgConfig.productCardConfig },
120
+ productReviewConfig: {
121
+ ...defaultGreenpanOrgConfig.productReviewConfig,
122
+ colorVariant: "brand",
123
+ incentivizedReviewFlag: false
124
+ },
125
+ welcomeSectionConfig: {
126
+ ...defaultGreenpanOrgConfig.welcomeSectionConfig,
127
+ title: "Meet Your GreenPan AI Chef!",
128
+ colorVariant: "accent",
129
+ subtitle: "Hi there! I'm here to help you cook with confidence. Ask me anything about GreenPan cookware, cooking tips, or product care—let's make every meal amazing!"
130
+ },
131
+ customerServiceIntegration: {
132
+ integrationMode: require_types.CustomerServiceIntegrationMode.simple,
133
+ provider: require_types.CustomerServiceType.tidio
134
+ },
135
+ merchantOverrideCss: `
136
+ #spiffy-modal-container {
137
+ z-index: 1000000000 !important;
138
+ }
139
+
140
+ .spiffy-star-rating-star {
141
+ fill: var(--spiffy-colors-accent-primary) !important;
142
+ }
143
+ .spiffy-mini-verified-buyer-icon {
144
+ fill: var(--spiffy-colors-accent-secondary) !important;
145
+ }
146
+
147
+ @media (min-width: 1200px) {
148
+ #spiffy-bottom-reviews-bar-id {
149
+ margin-bottom: 15px !important;
150
+ }
151
+ #spiffy-ai-chat-preview.is-plp {
152
+ min-width: 100%;
153
+ padding-left: 25.55px;
154
+ margin-bottom: 32px;
155
+ }
156
+ }
157
+
158
+ #spiffy-bottom-reviews-bar-id {
159
+ margin-bottom: 15px !important;
160
+ }
161
+ #spiffy-ai-chat-preview.is-plp {
162
+ min-width: 100%;
163
+ padding-left: 25.55px;
164
+ margin-bottom: 32px;
165
+ }
166
+
167
+ @media (max-width: 1199px) {
168
+ #spiffy-ai-chat-preview.is-plp {
169
+ padding-left: 10.55px
170
+ }
171
+ }
172
+
173
+ @media (max-width: 767px) {
174
+ #spiffy-ai-chat-preview.is-plp {
175
+ padding-left: 32px;
176
+ padding-right: 32px;
177
+ }
178
+ }
179
+
180
+ @media (max-width: 500px) {
181
+ #spiffy-ai-chat-preview.is-plp {
182
+ min-width: 94%;
183
+ padding-left: 0px;
184
+ padding-right: 0px;
185
+ }
186
+ }
187
+ .spiffy-product-card-title {
188
+ font-family: var(--chakra-fonts-heading);
189
+ color: var(--spiffy-colors-text-link);
190
+ }
191
+ `
192
+ };
193
+ };
194
+ const greenpanPageConfig = () => ({
195
+ pageVariants: [
196
+ {
197
+ variantId: "plp",
198
+ variantType: "plp",
199
+ variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }],
200
+ plpIdExtractor: "url-resolver-plp-id",
201
+ widgetMounting: [{
202
+ mountingConfigId: "chatPreviewPLP",
203
+ widgetConfigId: "chatPreviewPLP"
204
+ }]
205
+ },
206
+ {
207
+ variantId: "cookware",
208
+ variantType: "pdp",
209
+ variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
210
+ testType: require_types.PageVariantTestType.HasMerchantTag,
211
+ merchantTags: ["warranty:cookware"]
212
+ }],
213
+ productIdExtractor: "url-resolver-product-id",
214
+ widgetMounting: [
215
+ {
216
+ mountingConfigId: "topSuggestionBarPDP",
217
+ widgetConfigId: "topSuggestionsBarCookware"
218
+ },
219
+ {
220
+ mountingConfigId: "chatPreviewPDP",
221
+ widgetConfigId: "chatPreviewPDP"
222
+ },
223
+ {
224
+ mountingConfigId: "bottomSuggestionBarPDP",
225
+ widgetConfigId: "bottomSuggestionsBarCookware"
226
+ }
227
+ ]
228
+ },
229
+ {
230
+ variantId: "pdp",
231
+ variantType: "pdp",
232
+ variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }],
233
+ productIdExtractor: "url-resolver-product-id",
234
+ widgetMounting: [
235
+ {
236
+ mountingConfigId: "topSuggestionBarPDP",
237
+ widgetConfigId: "topSuggestionsBar"
238
+ },
239
+ {
240
+ mountingConfigId: "chatPreviewPDP",
241
+ widgetConfigId: "chatPreviewPDP"
242
+ },
243
+ {
244
+ mountingConfigId: "bottomSuggestionBarPDP",
245
+ widgetConfigId: "bottomSuggestionsBar"
246
+ }
247
+ ]
248
+ }
249
+ ],
250
+ widgetConfigs: {
251
+ topSuggestionsBar: {
252
+ widgetConfigId: "topSuggestionsBar",
253
+ contentId: "spiffy-top-suggestion-bar-contents",
254
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
255
+ type: require_types.WidgetType.SuggestionBarV2,
256
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
257
+ variant: "secondary",
258
+ hoverVariant: "outlinedLight",
259
+ buttonTexts: { default: [
260
+ "Summarize the reviews",
261
+ "What are this product's unique features?",
262
+ "How do you care for this product?",
263
+ "What are the dimensions?"
264
+ ] },
265
+ boldFirstButton: true,
266
+ twoRowsOnMobile: false,
267
+ animationSpeed: "standard",
268
+ buttonBorderRadius: "md"
269
+ },
270
+ chatPreviewPLP: {
271
+ widgetConfigId: "chatPreview",
272
+ type: require_types.WidgetType.ChatPreview,
273
+ variant: "flat",
274
+ addSeparators: true,
275
+ footerConfig: {
276
+ replyButtonText: "What can I help you find?",
277
+ replyButtonIcon: "magnifyingGlass"
278
+ }
279
+ },
280
+ chatPreviewPDP: {
281
+ widgetConfigId: "chatPreviewPDP",
282
+ type: require_types.WidgetType.ChatPreview,
283
+ variant: "flat"
284
+ },
285
+ bottomSuggestionsBar: {
286
+ widgetConfigId: "bottomSuggestionsBar",
287
+ contentId: "spiffy-bottom-suggestion-bar-contents",
288
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
289
+ type: require_types.WidgetType.SuggestionBarV2,
290
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
291
+ variant: "darkAccent",
292
+ hoverVariant: "outlinedLight",
293
+ buttonTexts: { default: [
294
+ "Summarize the reviews",
295
+ "What are this product's unique features?",
296
+ "How do you care for this product?"
297
+ ] },
298
+ boldFirstButton: true,
299
+ twoRowsOnMobile: true,
300
+ animationSpeed: "standard",
301
+ buttonBorderRadius: "md"
302
+ },
303
+ topSuggestionsBarCookware: {
304
+ widgetConfigId: "topSuggestionsBarCookware",
305
+ contentId: "spiffy-top-suggestion-bar-contents",
306
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
307
+ type: require_types.WidgetType.SuggestionBarV2,
308
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
309
+ variant: "secondary",
310
+ hoverVariant: "outlinedLight",
311
+ buttonTexts: { default: [
312
+ "Summarize the reviews",
313
+ "What are this product's unique features?",
314
+ "How do you care for this product?",
315
+ "How does this compare to other collections?"
316
+ ] },
317
+ boldFirstButton: true,
318
+ twoRowsOnMobile: false,
319
+ animationSpeed: "standard",
320
+ buttonBorderRadius: "md"
321
+ },
322
+ bottomSuggestionsBarCookware: {
323
+ widgetConfigId: "bottomSuggestionsBarCookware",
324
+ contentId: "spiffy-bottom-suggestion-bar-contents",
325
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
326
+ type: require_types.WidgetType.SuggestionBarV2,
327
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
328
+ variant: "darkAccent",
329
+ hoverVariant: "outlinedLight",
330
+ buttonTexts: { default: [
331
+ "Summarize the reviews",
332
+ "What are this product's unique features?",
333
+ "How do you care for this product?",
334
+ "How does this compare to other collections?"
335
+ ] },
336
+ boldFirstButton: true,
337
+ twoRowsOnMobile: true,
338
+ animationSpeed: "standard",
339
+ buttonBorderRadius: "md"
340
+ }
341
+ },
342
+ mountingConfigs: {
343
+ chatPreviewPLP: {
344
+ mountingConfigId: "chatPreviewPLP",
345
+ containerId: require_divIds.CHAT_PREVIEW_CONTAINER_ID,
346
+ testId: require_embedded.CHAT_PREVIEW_TESTID,
347
+ insertionPoint: {
348
+ selector: ".boost-pfs-filter-products",
349
+ insertionType: require_contexts.DOMInsertionType.AFTER
350
+ },
351
+ gridInsertionType: require_contexts.GridInsertionType.FIXED_6,
352
+ className: "is-plp"
353
+ },
354
+ chatPreviewPDP: {
355
+ mountingConfigId: "chatPreviewPDP",
356
+ containerId: require_divIds.CHAT_PREVIEW_CONTAINER_ID,
357
+ testId: require_embedded.CHAT_PREVIEW_TESTID,
358
+ insertionPoint: {
359
+ selector: ".addon-recommendations",
360
+ insertionType: require_contexts.DOMInsertionType.ADJACENT_BEFORE_BEGIN
361
+ }
362
+ },
363
+ topSuggestionBarPDP: {
364
+ mountingConfigId: "topSuggestionBarPDP",
365
+ containerId: require_divIds.TOP_SUGGESTION_BAR_PDP_ID,
366
+ testId: require_embedded.TOP_SUGGESTION_BAR_TESTID,
367
+ insertionPoint: {
368
+ selector: ".in-stock-text",
369
+ insertionType: require_contexts.DOMInsertionType.BEFORE
370
+ },
371
+ style: { marginBottom: "15px" }
372
+ },
373
+ bottomSuggestionBarPDP: {
374
+ mountingConfigId: "bottomSuggestionBarPDP",
375
+ containerId: require_divIds.BOTTOM_REVIEWS_BAR_ID,
376
+ testId: require_embedded.BOTTOM_SUGGESTION_BAR_TESTID,
377
+ insertionPoint: {
378
+ selector: ".bv-section-summary",
379
+ insertionType: require_contexts.DOMInsertionType.ADJACENT_AFTER_BEGIN,
380
+ selectionIndex: 0
381
+ }
382
+ }
383
+ }
384
+ });
385
+ const greenpanOrgInfo = {
386
+ shortName: require_types.OrgShortName.Greenpan,
387
+ name: "Greenpan",
388
+ domain: "greenpan.us",
389
+ defaultProductId: "valencia-pro-ceramic-non-stick-11-piece-cookware-set",
390
+ alwaysEnabledMerchants: true,
391
+ orgUIConfig: greenpanOrgUIConfig,
392
+ orgColors: () => greenpanColors,
393
+ orgPageConfig: greenpanPageConfig
394
+ };
395
+
396
+ //#endregion
397
+ exports.greenpanOrgInfo = greenpanOrgInfo;
398
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlZW5wYW4tQkw1cDZqN2YuY2pzIiwibmFtZXMiOlsiZ3JlZW5wYW5Db2xvcnM6IENvbG9yTWFwcGluZyIsIkNvbG9yTmFtZXMiLCJkZWZhdWx0T3JnVUlDb25maWciLCJPcmdTaG9ydE5hbWUiLCJDZG5TZXJ2aWNlIiwiY29sb3JWYXIiLCJDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUiLCJDdXN0b21lclNlcnZpY2VUeXBlIiwiUGFnZVZhcmlhbnRUZXN0VHlwZSIsIkNoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uIiwiV2lkZ2V0VHlwZSIsIlN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MiLCJDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lEIiwiQ0hBVF9QUkVWSUVXX1RFU1RJRCIsIkRPTUluc2VydGlvblR5cGUiLCJHcmlkSW5zZXJ0aW9uVHlwZSIsIlRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQiLCJUT1BfU1VHR0VTVElPTl9CQVJfVEVTVElEIiwiQk9UVE9NX1JFVklFV1NfQkFSX0lEIiwiQk9UVE9NX1NVR0dFU1RJT05fQkFSX1RFU1RJRCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXJjaGFudHMvZ3JlZW5wYW4vZ3JlZW5wYW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQk9UVE9NX1NVR0dFU1RJT05fQkFSX1RFU1RJRCxcbiAgQ0hBVF9QUkVWSUVXX1RFU1RJRCxcbiAgVE9QX1NVR0dFU1RJT05fQkFSX1RFU1RJRCxcbn0gZnJvbSBcInNyYy9jb25maWcvbG9jYXRvcnNcIjtcbmltcG9ydCB7IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25cIjtcbmltcG9ydCB7IENkblNlcnZpY2UgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY2RuU2VydmljZVwiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLFxuICBDdXN0b21lclNlcnZpY2VUeXBlLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY3VzdG9tZXJTZXJ2aWNlL3R5cGVzXCI7XG5pbXBvcnQgeyBHcmlkSW5zZXJ0aW9uVHlwZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vc2VydmljZS9kb21NdXRhdGlvbnMvR3JpZEluc2VydGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvZG9tTXV0YXRpb25zL2RvbUluc2VydGlvblNlcnZpY2VcIjtcbmltcG9ydCB7XG4gIEJPVFRPTV9SRVZJRVdTX0JBUl9JRCxcbiAgQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCxcbiAgVE9QX1NVR0dFU1RJT05fQkFSX1BEUF9JRCxcbn0gZnJvbSBcInNyYy9jb25maWcvZGl2SWRzXCI7XG5pbXBvcnQgeyBkZWZhdWx0T3JnVUlDb25maWcgfSBmcm9tIFwic3JjL21lcmNoYW50cy9kZWZhdWx0XCI7XG5pbXBvcnQge1xuICBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgQ29sb3JNYXBwaW5nLFxuICBDb2xvck5hbWVzLFxuICBjb2xvclZhcixcbiAgT3JnUGFnZUNvbmZpZyxcbiAgT3JnVUlDb25maWcsXG4gIFBhZ2VWYXJpYW50VGVzdFR5cGUsXG4gIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgV2lkZ2V0VHlwZSxcbn0gZnJvbSBcInNyYy9jb250ZXh0cy90eXBlc1wiO1xuaW1wb3J0IHsgQmFzaWNPcmdJbmZvVHlwZSwgT3JnU2hvcnROYW1lIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MgfSBmcm9tIFwic3JjL3R5cGVzL3N1Z2dlc3Rpb25CYXJWMi10eXBlc1wiO1xuXG5jb25zdCBncmVlbnBhbkNvbG9yczogQ29sb3JNYXBwaW5nID0ge1xuICBbQ29sb3JOYW1lcy5UZXh0UHJpbWFyeV06IFwiIzE5MzQxQVwiLFxuICBbQ29sb3JOYW1lcy5UZXh0U2Vjb25kYXJ5XTogXCIjNDA0MDQwXCIsXG4gIFtDb2xvck5hbWVzLlRleHRBY2NlbnRdOiBcIiM3OEEyMzBcIixcbiAgW0NvbG9yTmFtZXMuVGV4dExpbmtdOiBcIiMxOTM0MUFcIixcbiAgW0NvbG9yTmFtZXMuVGV4dExpZ2h0XTogXCIjRkZGRkZGXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRQcmltYXJ5XTogXCIjMTkzNDFBXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnldOiBcIiNGOEY3RjFcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNlY29uZGFyeURhcmtdOiBcIiNFNEUzREVcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFRlcnRpYXJ5XTogXCIjRjhGN0YxXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmREYXJrXTogXCIjMTkzNDFBXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRMaWdodF06IFwiI0ZGRkZGRlwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2F0dXJhdGVkXTogXCIjMTkzNDFBXCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlckxpZ2h0XTogXCIjRUNFQ0VFXCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlck1lZGl1bV06IFwiI0NEQ0RDRFwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJEYXJrXTogXCIjOTQ5NDk0XCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlck91dGxpbmVdOiBcIiMxOTM0MUFcIixcbiAgW0NvbG9yTmFtZXMuQWNjZW50UHJpbWFyeV06IFwiIzc4QTIzMFwiLFxuICBbQ29sb3JOYW1lcy5BY2NlbnRTZWNvbmRhcnldOiBcIiM3OEEyMzBcIixcbn07XG5cbmNvbnN0IGdyZWVucGFuT3JnVUlDb25maWcgPSAoKTogT3JnVUlDb25maWcgPT4ge1xuICBjb25zdCBkZWZhdWx0R3JlZW5wYW5PcmdDb25maWcgPSBkZWZhdWx0T3JnVUlDb25maWcoT3JnU2hvcnROYW1lLkdyZWVucGFuKTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRlZmF1bHRHcmVlbnBhbk9yZ0NvbmZpZyxcbiAgICBjaGF0TWVzc2FnZUNvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEdyZWVucGFuT3JnQ29uZmlnLmNoYXRNZXNzYWdlQ29uZmlnISxcbiAgICAgIGFzc2lzdGFudENoYXRUaXRsZTogXCJHcmVlblBhbiBBSVwiLFxuICAgICAgcHJvZHVjdExpbms6IHtcbiAgICAgICAgLi4uZGVmYXVsdEdyZWVucGFuT3JnQ29uZmlnLmNoYXRNZXNzYWdlQ29uZmlnLnByb2R1Y3RMaW5rLFxuICAgICAgICBpY29uVmFyaWFudDogXCJiYWNrZ3JvdW5kUHJpbWFyeVwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoYXRIZWFkZXI6IHtcbiAgICAgIC4uLmRlZmF1bHRHcmVlbnBhbk9yZ0NvbmZpZy5jaGF0SGVhZGVyLFxuICAgICAgaW1hZ2VTcmM6IENkblNlcnZpY2UuZ2V0QXNzZXRVUkwoXG4gICAgICAgIFwiZ3JlZW5wYW4tcm91bmQucG5nXCIsXG4gICAgICAgIE9yZ1Nob3J0TmFtZS5HcmVlbnBhblxuICAgICAgKSxcbiAgICB9LFxuICAgIGNoYXRQcmV2aWV3Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0R3JlZW5wYW5PcmdDb25maWcuY2hhdFByZXZpZXdDb25maWchLFxuICAgICAgaWNvbkZpbGxDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5BY2NlbnRQcmltYXJ5KSxcbiAgICAgIGJ1dHRvblRleHRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5Cb3JkZXJPdXRsaW5lKSxcbiAgICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLlRleHRMaW5rKSxcbiAgICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5KSxcbiAgICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRMaWdodCksXG4gICAgICBidXR0b25UZXh0U2Vjb25kYXJ5Q29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuVGV4dExpZ2h0KSxcbiAgICAgIGJ1dHRvbkJvcmRlckNvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnkpLFxuICAgICAgYnV0dG9uQm9yZGVySG92ZXJDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5UZXh0TGluayksXG4gICAgICB0b3BNYXJnaW46IDEwLFxuICAgICAgY29waWVzOiB7XG4gICAgICAgIHBscDogW1xuICAgICAgICAgIFwidGhlIHBlcmZlY3QgY29va3dhcmUgZm9yIHlvdT9cIixcbiAgICAgICAgICBcIm91ciBiZXN0LXNlbGxpbmcgY3V0bGVyeSBjb2xsZWN0aW9uP1wiLFxuICAgICAgICAgIFwidGhlIHJpZ2h0IHNtYWxsIGFwcGxpYW5jZSBmb3IgaG9zdGluZz9cIixcbiAgICAgICAgICBcIm92ZW4tc2FmZSBjb29raW5nIG9wdGlvbnM/XCIsXG4gICAgICAgICAgXCJob3cgaXQgY29tcGFyZXMgdG8gb3RoZXIgY29sbGVjdGlvbnM/XCIsXG4gICAgICAgIF0sXG4gICAgICAgIHBkcDogW1xuICAgICAgICAgIFwid2hhdCBvdGhlciBjdXN0b21lcnMgbG92ZSBhYm91dCBpdD9cIixcbiAgICAgICAgICBcImhvdyB0byBjYXJlIGZvciBpdD9cIixcbiAgICAgICAgICBcIndoYXQgYXJlIGl0cyBkaW1lbnNpb25zP1wiLFxuICAgICAgICAgIFwiaG93IGl0IGNvbXBhcmVzIHRvIG90aGVyIGNvbGxlY3Rpb25zP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHtcbiAgICAgICAgcGxwOiBbXG4gICAgICAgICAgXCJXaGF0IGFyZSB0aGUgYmVzdC1zZWxsaW5nIGNvb2t3YXJlIHByb2R1Y3RzP1wiLFxuICAgICAgICAgIFwiV2hpY2ggcHJvZHVjdHMgYXJlIGluZHVjdGlvbiByZWFkeT9cIixcbiAgICAgICAgICBcIldoYXQgc21hbGwgYXBwbGlhbmNlcyBhcmUgcGVyZmVjdCBmb3IgZW50ZXJ0YWluaW5nP1wiLFxuICAgICAgICAgIFwiV2hhdCBhcmUgdGhlIGJlc3Qtc2VsbGluZyB0b29scz9cIixcbiAgICAgICAgICBcIldoYXQgYmFrZXdhcmUgaXMgcmlnaHQgZm9yIG1lP1wiLFxuICAgICAgICAgIFwiSG93IGRvZXMgdGhpcyBjb21wYXJlIHRvIG90aGVyIGNvbGxlY3Rpb25zP1wiLFxuICAgICAgICBdLFxuICAgICAgICBwZHA6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3c1wiLFxuICAgICAgICAgIFwiV2hhdCBhcmUgdGhpcyBwcm9kdWN0J3MgdW5pcXVlIGZlYXR1cmVzP1wiLFxuICAgICAgICAgIFwiSG93IGRvIEkgY2FyZSBmb3IgdGhpcyBwcm9kdWN0P1wiLFxuICAgICAgICAgIFwiSG93IHNob3VsZCBJIHVzZSB0aGlzIHByb2R1Y3Q/XCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyB0aGlzIGNvbXBhcmUgdG8gb3RoZXIgY29sbGVjdGlvbnM/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgaGVhZGVyQ29uZmlnOiB7XG4gICAgICAgIC4uLmRlZmF1bHRHcmVlbnBhbk9yZ0NvbmZpZy5jaGF0UHJldmlld0NvbmZpZyEuaGVhZGVyQ29uZmlnISxcbiAgICAgICAgaW1hZ2VIZWlnaHQ6IDMyLFxuICAgICAgICBpbWFnZVNyYzogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgICBcImdyZWVucGFuLWxvZ28uc3ZnXCIsXG4gICAgICAgICAgT3JnU2hvcnROYW1lLkdyZWVucGFuXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgZm9vdGVyQ29uZmlnOiB7XG4gICAgICAgIC4uLmRlZmF1bHRHcmVlbnBhbk9yZ0NvbmZpZy5jaGF0UHJldmlld0NvbmZpZyEuZm9vdGVyQ29uZmlnLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudDogXCJkYXJrXCIsXG4gICAgICAgIHJlcGx5QnV0dG9uSWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRHcmVlbnBhbk9yZ0NvbmZpZy5mbG9hdGluZ0VudHJ5cG9pbnRDb25maWchLFxuICAgICAgc2hvd09wdGlvbjogXCJhbHdheXNcIixcbiAgICAgIGV4cGFuZGVkQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQm9yZGVyT3V0bGluZSksXG4gICAgICBleHBhbnNpb25UZXh0OiB7XG4gICAgICAgIHBkcDogXCJIZWFyIGZyb20gb3RoZXJzIHdobyd2ZSBjb29rZWQgd2l0aCBpdCFcIixcbiAgICAgICAgcGxwOiBcIldoYXQgZG8gY3VzdG9tZXJzIHNheT9cIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwcm9kdWN0Q2FyZENvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEdyZWVucGFuT3JnQ29uZmlnLnByb2R1Y3RDYXJkQ29uZmlnISxcbiAgICB9LFxuICAgIHByb2R1Y3RSZXZpZXdDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRHcmVlbnBhbk9yZ0NvbmZpZy5wcm9kdWN0UmV2aWV3Q29uZmlnISxcbiAgICAgIGNvbG9yVmFyaWFudDogXCJicmFuZFwiLFxuICAgICAgaW5jZW50aXZpemVkUmV2aWV3RmxhZzogZmFsc2UsXG4gICAgfSxcbiAgICB3ZWxjb21lU2VjdGlvbkNvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEdyZWVucGFuT3JnQ29uZmlnLndlbGNvbWVTZWN0aW9uQ29uZmlnISxcbiAgICAgIHRpdGxlOiBcIk1lZXQgWW91ciBHcmVlblBhbiBBSSBDaGVmIVwiLFxuICAgICAgY29sb3JWYXJpYW50OiBcImFjY2VudFwiLFxuICAgICAgc3VidGl0bGU6XG4gICAgICAgIFwiSGkgdGhlcmUhIEknbSBoZXJlIHRvIGhlbHAgeW91IGNvb2sgd2l0aCBjb25maWRlbmNlLiBBc2sgbWUgYW55dGhpbmcgYWJvdXQgR3JlZW5QYW4gY29va3dhcmUsIGNvb2tpbmcgdGlwcywgb3IgcHJvZHVjdCBjYXJl4oCUbGV0J3MgbWFrZSBldmVyeSBtZWFsIGFtYXppbmchXCIsXG4gICAgfSxcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjoge1xuICAgICAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUuc2ltcGxlLFxuICAgICAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVR5cGUudGlkaW8sXG4gICAgfSxcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzOiBgXG4gICAgICAjc3BpZmZ5LW1vZGFsLWNvbnRhaW5lciB7XG4gICAgICAgIHotaW5kZXg6IDEwMDAwMDAwMDAgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1zdGFyLXJhdGluZy1zdGFyIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktbWluaS12ZXJpZmllZC1idXllci1pY29uIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICNzcGlmZnktYm90dG9tLXJldmlld3MtYmFyLWlkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3NwaWZmeS1haS1jaGF0LXByZXZpZXcuaXMtcGxwIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNS41NXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgI3NwaWZmeS1ib3R0b20tcmV2aWV3cy1iYXItaWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAjc3BpZmZ5LWFpLWNoYXQtcHJldmlldy5pcy1wbHAge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjUuNTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAjc3BpZmZ5LWFpLWNoYXQtcHJldmlldy5pcy1wbHAge1xuICAgIHBhZGRpbmctbGVmdDogMTAuNTVweFxuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuI3NwaWZmeS1haS1jaGF0LXByZXZpZXcuaXMtcGxwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgcGFkZGluZy1yaWdodDogMzJweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiNzcGlmZnktYWktY2hhdC1wcmV2aWV3LmlzLXBscCB7XG4gICAgbWluLXdpZHRoOiA5NCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xuICB9XG59XG4gIC5zcGlmZnktcHJvZHVjdC1jYXJkLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tY2hha3JhLWZvbnRzLWhlYWRpbmcpO1xuICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGluayk7XG4gIH1cbmAsXG4gIH07XG59O1xuXG5jb25zdCBncmVlbnBhblBhZ2VDb25maWcgPSAoKTogT3JnUGFnZUNvbmZpZyA9PiAoe1xuICBwYWdlVmFyaWFudHM6IFtcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW3sgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfV0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcImNvb2t3YXJlXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNNZXJjaGFudFRhZyxcbiAgICAgICAgICBtZXJjaGFudFRhZ3M6IFtcIndhcnJhbnR5OmNvb2t3YXJlXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyQ29va3dhcmVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJDb29rd2FyZVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFt7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH1dLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbiAgd2lkZ2V0Q29uZmlnczoge1xuICAgIHRvcFN1Z2dlc3Rpb25zQmFyOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclwiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJvdXRsaW5lZExpZ2h0XCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICBcIldoYXQgYXJlIHRoaXMgcHJvZHVjdCdzIHVuaXF1ZSBmZWF0dXJlcz9cIixcbiAgICAgICAgICBcIkhvdyBkbyB5b3UgY2FyZSBmb3IgdGhpcyBwcm9kdWN0P1wiLFxuICAgICAgICAgIFwiV2hhdCBhcmUgdGhlIGRpbWVuc2lvbnM/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgdHdvUm93c09uTW9iaWxlOiBmYWxzZSxcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcInN0YW5kYXJkXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG5cbiAgICBjaGF0UHJldmlld1BMUDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZsYXRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IHRydWUsXG4gICAgICBmb290ZXJDb25maWc6IHtcbiAgICAgICAgcmVwbHlCdXR0b25UZXh0OiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgICAgcmVwbHlCdXR0b25JY29uOiBcIm1hZ25pZnlpbmdHbGFzc1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBjaGF0UHJldmlld1BEUDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZsYXRcIixcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBib3R0b21TdWdnZXN0aW9uc0Jhcjoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktYm90dG9tLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLkJPVFRPTV9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX0JPVFRPTSxcbiAgICAgIHZhcmlhbnQ6IFwiZGFya0FjY2VudFwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcIm91dGxpbmVkTGlnaHRcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3c1wiLFxuICAgICAgICAgIFwiV2hhdCBhcmUgdGhpcyBwcm9kdWN0J3MgdW5pcXVlIGZlYXR1cmVzP1wiLFxuICAgICAgICAgIFwiSG93IGRvIHlvdSBjYXJlIGZvciB0aGlzIHByb2R1Y3Q/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgdHdvUm93c09uTW9iaWxlOiB0cnVlLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwic3RhbmRhcmRcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhckNvb2t3YXJlOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckNvb2t3YXJlXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcIm91dGxpbmVkTGlnaHRcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3c1wiLFxuICAgICAgICAgIFwiV2hhdCBhcmUgdGhpcyBwcm9kdWN0J3MgdW5pcXVlIGZlYXR1cmVzP1wiLFxuICAgICAgICAgIFwiSG93IGRvIHlvdSBjYXJlIGZvciB0aGlzIHByb2R1Y3Q/XCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyB0aGlzIGNvbXBhcmUgdG8gb3RoZXIgY29sbGVjdGlvbnM/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgdHdvUm93c09uTW9iaWxlOiBmYWxzZSxcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcInN0YW5kYXJkXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXJDb29rd2FyZToge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJDb29rd2FyZVwiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS1ib3R0b20tc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uQk9UVE9NX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfQk9UVE9NLFxuICAgICAgdmFyaWFudDogXCJkYXJrQWNjZW50XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwib3V0bGluZWRMaWdodFwiLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzXCIsXG4gICAgICAgICAgXCJXaGF0IGFyZSB0aGlzIHByb2R1Y3QncyB1bmlxdWUgZmVhdHVyZXM/XCIsXG4gICAgICAgICAgXCJIb3cgZG8geW91IGNhcmUgZm9yIHRoaXMgcHJvZHVjdD9cIixcbiAgICAgICAgICBcIkhvdyBkb2VzIHRoaXMgY29tcGFyZSB0byBvdGhlciBjb2xsZWN0aW9ucz9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICB0d29Sb3dzT25Nb2JpbGU6IHRydWUsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJzdGFuZGFyZFwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICB9LFxuICBtb3VudGluZ0NvbmZpZ3M6IHtcbiAgICBjaGF0UHJldmlld1BMUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgY29udGFpbmVySWQ6IENIQVRfUFJFVklFV19DT05UQUlORVJfSUQsXG4gICAgICB0ZXN0SWQ6IENIQVRfUFJFVklFV19URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIuYm9vc3QtcGZzLWZpbHRlci1wcm9kdWN0c1wiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFGVEVSLFxuICAgICAgfSxcbiAgICAgIGdyaWRJbnNlcnRpb25UeXBlOiBHcmlkSW5zZXJ0aW9uVHlwZS5GSVhFRF82LFxuICAgICAgY2xhc3NOYW1lOiBcImlzLXBscFwiLFxuICAgIH0sXG4gICAgY2hhdFByZXZpZXdQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lELFxuICAgICAgdGVzdElkOiBDSEFUX1BSRVZJRVdfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLmFkZG9uLXJlY29tbWVuZGF0aW9uc1wiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFESkFDRU5UX0JFRk9SRV9CRUdJTixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB0b3BTdWdnZXN0aW9uQmFyUERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBUT1BfU1VHR0VTVElPTl9CQVJfUERQX0lELFxuICAgICAgdGVzdElkOiBUT1BfU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLmluLXN0b2NrLXRleHRcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5CRUZPUkUsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHsgbWFyZ2luQm90dG9tOiBcIjE1cHhcIiB9LFxuICAgIH0sXG4gICAgYm90dG9tU3VnZ2VzdGlvbkJhclBEUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICBjb250YWluZXJJZDogQk9UVE9NX1JFVklFV1NfQkFSX0lELFxuICAgICAgdGVzdElkOiBCT1RUT01fU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLmJ2LXNlY3Rpb24tc3VtbWFyeVwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFESkFDRU5UX0FGVEVSX0JFR0lOLFxuICAgICAgICBzZWxlY3Rpb25JbmRleDogMCxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn0pO1xuXG5jb25zdCBncmVlbnBhbk9yZ0luZm8gPSB7XG4gIHNob3J0TmFtZTogT3JnU2hvcnROYW1lLkdyZWVucGFuLFxuICBuYW1lOiBcIkdyZWVucGFuXCIsXG4gIGRvbWFpbjogXCJncmVlbnBhbi51c1wiLFxuICBkZWZhdWx0UHJvZHVjdElkOiBcInZhbGVuY2lhLXByby1jZXJhbWljLW5vbi1zdGljay0xMS1waWVjZS1jb29rd2FyZS1zZXRcIixcbiAgYWx3YXlzRW5hYmxlZE1lcmNoYW50czogdHJ1ZSxcbiAgb3JnVUlDb25maWc6IGdyZWVucGFuT3JnVUlDb25maWcsXG4gIG9yZ0NvbG9yczogKCkgPT4gZ3JlZW5wYW5Db2xvcnMsXG4gIG9yZ1BhZ2VDb25maWc6IGdyZWVucGFuUGFnZUNvbmZpZyxcbn0gc2F0aXNmaWVzIEJhc2ljT3JnSW5mb1R5cGU7XG5cbmV4cG9ydCB7IGdyZWVucGFuT3JnSW5mbyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUNBLE1BQU1BLGlCQUErQjtFQUNsQ0MseUJBQVcsY0FBYztFQUN6QkEseUJBQVcsZ0JBQWdCO0VBQzNCQSx5QkFBVyxhQUFhO0VBQ3hCQSx5QkFBVyxXQUFXO0VBQ3RCQSx5QkFBVyxZQUFZO0VBQ3ZCQSx5QkFBVyxvQkFBb0I7RUFDL0JBLHlCQUFXLHNCQUFzQjtFQUNqQ0EseUJBQVcsMEJBQTBCO0VBQ3JDQSx5QkFBVyxxQkFBcUI7RUFDaENBLHlCQUFXLGlCQUFpQjtFQUM1QkEseUJBQVcsa0JBQWtCO0VBQzdCQSx5QkFBVyxzQkFBc0I7RUFDakNBLHlCQUFXLGNBQWM7RUFDekJBLHlCQUFXLGVBQWU7RUFDMUJBLHlCQUFXLGFBQWE7RUFDeEJBLHlCQUFXLGdCQUFnQjtFQUMzQkEseUJBQVcsZ0JBQWdCO0VBQzNCQSx5QkFBVyxrQkFBa0I7Q0FDL0I7QUFFRCxNQUFNLDRCQUF5QztDQUM3QyxNQUFNLDJCQUEyQkMsbUNBQW1CQywyQkFBYSxTQUFTO0FBRTFFLFFBQU87RUFDTCxHQUFHO0VBQ0gsbUJBQW1CO0dBQ2pCLEdBQUcseUJBQXlCO0dBQzVCLG9CQUFvQjtHQUNwQixhQUFhO0lBQ1gsR0FBRyx5QkFBeUIsa0JBQWtCO0lBQzlDLGFBQWE7SUFDZDtHQUNGO0VBQ0QsWUFBWTtHQUNWLEdBQUcseUJBQXlCO0dBQzVCLFVBQVVDLDRCQUFXLFlBQ25CLHNCQUNBRCwyQkFBYSxTQUNkO0dBQ0Y7RUFDRCxtQkFB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