@envive-ai/react-hooks 0.2.6-alpha.13 → 0.2.6

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 (363) hide show
  1. package/dist/{NewOrgConfig-BfbTlFg1.js → NewOrgConfig-BfrGpiGk.js} +2 -2
  2. package/dist/{NewOrgConfig-DJm6_abA.cjs → NewOrgConfig-BxSuoP9C.cjs} +2 -2
  3. package/dist/{SystemSettingsContext-BbTKNBvJ.js → SystemSettingsContext-B8X_Dvw2.js} +2 -2
  4. package/dist/{SystemSettingsContext-6ZHzQkCE.cjs → SystemSettingsContext-Bkoiobdv.cjs} +2 -2
  5. package/dist/{TrackComponentVisibleEvent-BRC2FTp-.cjs → TrackComponentVisibleEvent-DMuX-byo.cjs} +7 -7
  6. package/dist/{TrackComponentVisibleEvent-BJgNOypY.js → TrackComponentVisibleEvent-DwfGqNTx.js} +3 -3
  7. package/dist/{amplitudeContext-CZUzMXHl.d.ts → amplitudeContext-CiO9T9c-.d.ts} +1 -1
  8. package/dist/amplitudeContext-DOqL2Vn8.js +264 -0
  9. package/dist/amplitudeContext-ZTQMvVTV.cjs +286 -0
  10. package/dist/{api-DeW6rHj3.cjs → api-BvygKEiX.cjs} +3 -3
  11. package/dist/{api-BWSsazAG.js → api-bHEYmSiT.js} +3 -3
  12. package/dist/app-Aqkm_SlS.js +110 -0
  13. package/dist/app-BQw_-JGl.cjs +156 -0
  14. package/dist/application/models/graphql/index.cjs +2 -2
  15. package/dist/application/models/graphql/index.d.ts +1 -1
  16. package/dist/application/models/graphql/index.js +2 -2
  17. package/dist/application/models/guards/api/index.cjs +3 -3
  18. package/dist/application/models/guards/api/index.d.ts +2 -2
  19. package/dist/application/models/guards/api/index.js +3 -3
  20. package/dist/application/models/guards/utils.cjs +1 -1
  21. package/dist/application/models/guards/utils.d.ts +1 -1
  22. package/dist/application/models/guards/utils.js +1 -1
  23. package/dist/application/models/index.cjs +8 -8
  24. package/dist/application/models/index.d.cts +2 -2
  25. package/dist/application/models/index.d.ts +11 -11
  26. package/dist/application/models/index.js +8 -8
  27. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  28. package/dist/application/models/variantInfo/index.d.ts +1 -1
  29. package/dist/application/utils/index.cjs +18 -16
  30. package/dist/application/utils/index.d.cts +2 -2
  31. package/dist/application/utils/index.d.ts +15 -15
  32. package/dist/application/utils/index.js +18 -16
  33. package/dist/{atomStore-DNji91Im.cjs → atomStore-CmZbgQHc.cjs} +1 -1
  34. package/dist/{atomStore-DXTVqiKc.js → atomStore-DEcDhiLp.js} +1 -1
  35. package/dist/atoms/app/index.cjs +17 -22
  36. package/dist/atoms/app/index.d.cts +8 -8
  37. package/dist/atoms/app/index.d.ts +18 -18
  38. package/dist/atoms/app/index.js +12 -17
  39. package/dist/atoms/atomStore/index.cjs +1 -1
  40. package/dist/atoms/atomStore/index.js +1 -1
  41. package/dist/atoms/chat/index.cjs +19 -18
  42. package/dist/atoms/chat/index.d.cts +29 -29
  43. package/dist/atoms/chat/index.d.ts +12 -12
  44. package/dist/atoms/chat/index.js +19 -18
  45. package/dist/atoms/globalSearch/index.cjs +1 -2
  46. package/dist/atoms/globalSearch/index.d.cts +5 -5
  47. package/dist/atoms/globalSearch/index.d.ts +5 -5
  48. package/dist/atoms/globalSearch/index.js +1 -2
  49. package/dist/atoms/org/index.cjs +8 -7
  50. package/dist/atoms/org/index.d.cts +19 -19
  51. package/dist/atoms/org/index.d.ts +30 -30
  52. package/dist/atoms/org/index.js +4 -3
  53. package/dist/atoms/search/index.cjs +26 -25
  54. package/dist/atoms/search/index.d.cts +3 -3
  55. package/dist/atoms/search/index.d.ts +13 -13
  56. package/dist/atoms/search/index.js +26 -25
  57. package/dist/atoms/search/types.cjs +1 -1
  58. package/dist/atoms/search/types.d.ts +1 -1
  59. package/dist/atoms/search/types.js +1 -1
  60. package/dist/atoms/search/utils.cjs +1 -1
  61. package/dist/atoms/search/utils.d.ts +1 -1
  62. package/dist/atoms/search/utils.js +1 -1
  63. package/dist/{cdnContext-DOSIofl8.cjs → cdnContext-Cd0Kvt6g.cjs} +2 -2
  64. package/dist/{cdnContext-CEGBVVBU.js → cdnContext-D8pHA9gh.js} +2 -2
  65. package/dist/{chat-DCGriB7h.cjs → chat-CJ9D8n7g.cjs} +1 -1
  66. package/dist/{chat-CqPuT9_V.cjs → chat-DwNALtox.cjs} +12 -11
  67. package/dist/{chat-ClvJ9xEj.js → chat-EJbfGWRr.js} +1 -1
  68. package/dist/{chat-DH70QqJp.js → chat-U1IgKNij.js} +9 -8
  69. package/dist/{chatElementDisplayLocation-CpgV2wR1.d.ts → chatElementDisplayLocation-DbmdwAff.d.ts} +1 -1
  70. package/dist/{chatSearch-C7Y-hb-6.js → chatSearch-Bb2SMr9X.js} +7 -7
  71. package/dist/{chatSearch-DLV4BUGA.cjs → chatSearch-DtE2cUQw.cjs} +7 -7
  72. package/dist/{chatState-CcFtSqJT.cjs → chatState-B3Dyrd9M.cjs} +5 -5
  73. package/dist/{chatState-DKnNHmwe.js → chatState-BXBN-12W.js} +3 -3
  74. package/dist/commerce-api-DXbnMNT8.js +311 -0
  75. package/dist/commerce-api-Dx02FCQ7.cjs +318 -0
  76. package/dist/{common-DQPvV_S_.cjs → common-CuwWqIJ1.cjs} +1 -1
  77. package/dist/{common-c_4eX0qn.js → common-Df2bwzd2.js} +1 -1
  78. package/dist/{components-DKwVHIjq.cjs → components-BCfFLf9X.cjs} +1 -1
  79. package/dist/{components-CDpaMUjK.js → components-QGCWJ26c.js} +1 -1
  80. package/dist/config/index.cjs +4 -4
  81. package/dist/config/index.d.ts +4 -4
  82. package/dist/config/index.js +4 -4
  83. package/dist/config/locators/components/chat/index.cjs +1 -1
  84. package/dist/config/locators/components/chat/index.d.ts +1 -1
  85. package/dist/config/locators/components/chat/index.js +1 -1
  86. package/dist/config/locators/components/common/index.cjs +1 -1
  87. package/dist/config/locators/components/common/index.d.ts +1 -1
  88. package/dist/config/locators/components/common/index.js +1 -1
  89. package/dist/config/locators/components/index.cjs +1 -1
  90. package/dist/config/locators/components/index.d.ts +1 -1
  91. package/dist/config/locators/components/index.js +1 -1
  92. package/dist/config/locators/index.cjs +4 -4
  93. package/dist/config/locators/index.d.ts +4 -4
  94. package/dist/config/locators/index.js +4 -4
  95. package/dist/contexts/amplitudeContext/index.cjs +19 -19
  96. package/dist/contexts/amplitudeContext/index.d.ts +1 -1
  97. package/dist/contexts/amplitudeContext/index.js +16 -16
  98. package/dist/contexts/cdnContext/index.cjs +4 -4
  99. package/dist/contexts/cdnContext/index.js +4 -4
  100. package/dist/contexts/chatContext/index.cjs +42 -37
  101. package/dist/contexts/chatContext/index.d.cts +4 -4
  102. package/dist/contexts/chatContext/index.d.ts +2 -2
  103. package/dist/contexts/chatContext/index.js +32 -27
  104. package/dist/contexts/enviveConfigContext/index.cjs +4 -4
  105. package/dist/contexts/enviveConfigContext/index.d.cts +1 -1
  106. package/dist/contexts/enviveConfigContext/index.d.ts +3 -3
  107. package/dist/contexts/enviveConfigContext/index.js +4 -4
  108. package/dist/contexts/enviveCssContext/index.cjs +16 -16
  109. package/dist/contexts/enviveCssContext/index.js +16 -16
  110. package/dist/contexts/featureFlagContext/index.cjs +6 -6
  111. package/dist/contexts/featureFlagContext/index.d.cts +1 -1
  112. package/dist/contexts/featureFlagContext/index.d.ts +3 -3
  113. package/dist/contexts/featureFlagContext/index.js +6 -6
  114. package/dist/contexts/featureFlagServiceContext/index.cjs +3 -3
  115. package/dist/contexts/featureFlagServiceContext/index.d.cts +2 -2
  116. package/dist/contexts/featureFlagServiceContext/index.d.ts +4 -4
  117. package/dist/contexts/featureFlagServiceContext/index.js +3 -3
  118. package/dist/contexts/graphqlContext/index.cjs +11 -11
  119. package/dist/contexts/graphqlContext/index.d.cts +3 -3
  120. package/dist/contexts/graphqlContext/index.d.ts +13 -13
  121. package/dist/contexts/graphqlContext/index.js +11 -11
  122. package/dist/contexts/localStorageContext/index.cjs +2 -2
  123. package/dist/contexts/localStorageContext/index.js +2 -2
  124. package/dist/contexts/newOrgConfigContext/index.cjs +15 -15
  125. package/dist/contexts/newOrgConfigContext/index.d.cts +4 -4
  126. package/dist/contexts/newOrgConfigContext/index.d.ts +14 -14
  127. package/dist/contexts/newOrgConfigContext/index.js +15 -15
  128. package/dist/contexts/searchContext/index.cjs +19 -22
  129. package/dist/contexts/searchContext/index.d.ts +2 -2
  130. package/dist/contexts/searchContext/index.js +19 -22
  131. package/dist/contexts/sessionStorageContext/index.cjs +2 -2
  132. package/dist/contexts/sessionStorageContext/index.js +2 -2
  133. package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
  134. package/dist/contexts/shopifyUrlContext/index.d.cts +1 -1
  135. package/dist/contexts/shopifyUrlContext/index.d.ts +3 -3
  136. package/dist/contexts/shopifyUrlContext/index.js +2 -2
  137. package/dist/contexts/systemSettingsContext/index.cjs +4 -4
  138. package/dist/contexts/systemSettingsContext/index.d.cts +6 -6
  139. package/dist/contexts/systemSettingsContext/index.d.ts +13 -13
  140. package/dist/contexts/systemSettingsContext/index.js +4 -4
  141. package/dist/contexts/types.cjs +1 -1
  142. package/dist/contexts/types.d.cts +1 -1
  143. package/dist/contexts/types.d.ts +3 -3
  144. package/dist/contexts/types.js +1 -1
  145. package/dist/contexts/userIdentityContext/index.cjs +24 -18
  146. package/dist/contexts/userIdentityContext/index.d.ts +1 -1
  147. package/dist/contexts/userIdentityContext/index.js +22 -16
  148. package/dist/{domObserver-Bqf3ooj8.cjs → domObserver-COKvTfZV.cjs} +1 -1
  149. package/dist/{domObserver-v9ODTyfT.js → domObserver-DEiUh0qg.js} +1 -1
  150. package/dist/{enviveConfig-Dv9-esGV.cjs → enviveConfig-B42OJ8bK.cjs} +3 -3
  151. package/dist/{enviveConfig-DZBohDpc.js → enviveConfig-BlIkxiAF.js} +3 -3
  152. package/dist/{enviveConfigContext-DrDjCems.js → enviveConfigContext-1_EivtCa.js} +3 -3
  153. package/dist/{enviveConfigContext-D2OELZDR.cjs → enviveConfigContext-Y1ahEAMe.cjs} +3 -3
  154. package/dist/{featureFlagServiceContext-V0J-69ty.d.ts → featureFlagServiceContext-C5U0bshi.d.ts} +2 -2
  155. package/dist/{featureFlagServiceContext-FBM6DdMJ.js → featureFlagServiceContext-CAPrb4e_.js} +3 -3
  156. package/dist/{featureFlagServiceContext-Be_LUbFf.d.cts → featureFlagServiceContext-CiKWV306.d.cts} +2 -2
  157. package/dist/{featureFlagServiceContext-CJyYItqu.cjs → featureFlagServiceContext-D3Ge8GH5.cjs} +3 -3
  158. package/dist/{featureGates-qU_ulhpC.cjs → featureGates-Bt_Y3kZ7.cjs} +1 -1
  159. package/dist/{featureGates-KEwAL8p_.js → featureGates-D4Me_IZH.js} +1 -1
  160. package/dist/frontendConfig-BiD1-j48.d.ts +856 -0
  161. package/dist/frontendConfig-tVg0hsWZ.d.cts +856 -0
  162. package/dist/{globalSearch-FBk2epe8.cjs → globalSearch-BOG3wmck.cjs} +1 -1
  163. package/dist/{globalSearch-Ccxq8hNF.js → globalSearch-BQEX-2Ml.js} +1 -1
  164. package/dist/{graphql-3PxNRFOc.js → graphql-OkhsP4ir.js} +2 -2
  165. package/dist/{graphql-DGYfelZp.cjs → graphql-l4dQrsA6.cjs} +2 -2
  166. package/dist/graphqlConfig-BnfE0ql5.cjs +39 -0
  167. package/dist/graphqlConfig-CZGjJ8hP.js +14 -0
  168. package/dist/{graphqlContext-D67VEQg3.d.cts → graphqlContext-Bf3E-V2T.d.cts} +2 -2
  169. package/dist/{graphqlContext-BQA6gnpH.d.ts → graphqlContext-CDeKzb46.d.ts} +3 -3
  170. package/dist/{graphqlContext-W0cZNBf1.cjs → graphqlContext-CpwAvnro.cjs} +5 -5
  171. package/dist/{graphqlContext-Ci5GRAdH.js → graphqlContext-dyWNSWNv.js} +5 -5
  172. package/dist/hooks/AmplitudeOperations/index.cjs +18 -18
  173. package/dist/hooks/AmplitudeOperations/index.d.ts +1 -1
  174. package/dist/hooks/AmplitudeOperations/index.js +18 -18
  175. package/dist/hooks/AppDetails/index.cjs +15 -20
  176. package/dist/hooks/AppDetails/index.d.cts +2 -2
  177. package/dist/hooks/AppDetails/index.d.ts +11 -11
  178. package/dist/hooks/AppDetails/index.js +15 -20
  179. package/dist/hooks/CdnOperations/index.cjs +4 -4
  180. package/dist/hooks/CdnOperations/index.js +4 -4
  181. package/dist/hooks/ChatToggle/index.cjs +23 -22
  182. package/dist/hooks/ChatToggle/index.d.ts +1 -1
  183. package/dist/hooks/ChatToggle/index.js +20 -19
  184. package/dist/hooks/ChatToggleAnalytics/index.cjs +19 -19
  185. package/dist/hooks/ChatToggleAnalytics/index.d.ts +1 -1
  186. package/dist/hooks/ChatToggleAnalytics/index.js +19 -19
  187. package/dist/hooks/CustomerSupportHandoff/index.cjs +1 -1
  188. package/dist/hooks/CustomerSupportHandoff/index.js +1 -1
  189. package/dist/hooks/Debounce/index.cjs +1 -1
  190. package/dist/hooks/Debounce/index.js +1 -1
  191. package/dist/hooks/ElementObserver/index.cjs +1 -1
  192. package/dist/hooks/ElementObserver/index.d.ts +1 -1
  193. package/dist/hooks/ElementObserver/index.js +1 -1
  194. package/dist/hooks/GrabAndScroll/index.d.ts +2 -2
  195. package/dist/hooks/GraphQLConfig/index.cjs +12 -12
  196. package/dist/hooks/GraphQLConfig/index.d.cts +3 -3
  197. package/dist/hooks/GraphQLConfig/index.d.ts +12 -12
  198. package/dist/hooks/GraphQLConfig/index.js +12 -12
  199. package/dist/hooks/IdentifyUser/index.cjs +24 -18
  200. package/dist/hooks/IdentifyUser/index.js +23 -17
  201. package/dist/hooks/ImageResolver/index.cjs +10 -10
  202. package/dist/hooks/ImageResolver/index.js +10 -10
  203. package/dist/hooks/Intersection/index.cjs +1 -1
  204. package/dist/hooks/Intersection/index.js +1 -1
  205. package/dist/hooks/LocalStorageOperations/index.cjs +2 -2
  206. package/dist/hooks/LocalStorageOperations/index.js +2 -2
  207. package/dist/hooks/MessageFilter/index.cjs +8 -8
  208. package/dist/hooks/MessageFilter/index.d.cts +2 -2
  209. package/dist/hooks/MessageFilter/index.d.ts +11 -11
  210. package/dist/hooks/MessageFilter/index.js +8 -8
  211. package/dist/hooks/NewOrgConfig/index.cjs +16 -16
  212. package/dist/hooks/NewOrgConfig/index.d.cts +4 -4
  213. package/dist/hooks/NewOrgConfig/index.d.ts +14 -14
  214. package/dist/hooks/NewOrgConfig/index.js +16 -16
  215. package/dist/hooks/Search/index.cjs +46 -45
  216. package/dist/hooks/Search/index.d.cts +4 -4
  217. package/dist/hooks/Search/index.d.ts +15 -15
  218. package/dist/hooks/Search/index.js +38 -37
  219. package/dist/hooks/SearchOperations/index.cjs +20 -23
  220. package/dist/hooks/SearchOperations/index.d.ts +2 -2
  221. package/dist/hooks/SearchOperations/index.js +20 -23
  222. package/dist/hooks/SessionStorageOperations/index.cjs +2 -2
  223. package/dist/hooks/SessionStorageOperations/index.js +2 -2
  224. package/dist/hooks/ShopifyUrlOperations/index.cjs +2 -2
  225. package/dist/hooks/ShopifyUrlOperations/index.d.cts +1 -1
  226. package/dist/hooks/ShopifyUrlOperations/index.d.ts +3 -3
  227. package/dist/hooks/ShopifyUrlOperations/index.js +2 -2
  228. package/dist/hooks/SystemSettingsContext/index.cjs +5 -5
  229. package/dist/hooks/SystemSettingsContext/index.d.cts +2 -2
  230. package/dist/hooks/SystemSettingsContext/index.d.ts +13 -13
  231. package/dist/hooks/SystemSettingsContext/index.js +5 -5
  232. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +18 -18
  233. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +2 -2
  234. package/dist/hooks/TrackComponentVisibleEvent/index.js +18 -18
  235. package/dist/hooks/UpdateAnalyticsProps/index.cjs +21 -21
  236. package/dist/hooks/UpdateAnalyticsProps/index.js +16 -16
  237. package/dist/hooks/utils.d.cts +3 -3
  238. package/dist/hooks/utils.d.ts +12 -12
  239. package/dist/{index-DazMsEy_.d.ts → index--uHjE7L8.d.ts} +1 -1
  240. package/dist/{index-BeYfyZ6k.d.ts → index-B6xpW8RG.d.ts} +1 -1
  241. package/dist/{index-BeGt0Aw3.d.cts → index-Bq39XSmY.d.cts} +31 -31
  242. package/dist/{index-O33GSSRr.d.cts → index-CG3P8xE1.d.cts} +2 -2
  243. package/dist/{index-CCa4tZuO.d.ts → index-Cx9e-fRi.d.ts} +2 -2
  244. package/dist/{index-bjMvkcBF.d.ts → index-D2VaMPA3.d.ts} +1 -1
  245. package/dist/{index-xHVrsrbz.d.ts → index-D31m6bPU.d.ts} +1 -1
  246. package/dist/{index-h809JLbL.d.ts → index-DSRs6N6J.d.ts} +1 -1
  247. package/dist/{index-Dfwnna1j.d.ts → index-Dxpscrvz.d.ts} +1 -1
  248. package/dist/{index-DJTrxIFJ.d.ts → index-VwfWqyR_.d.ts} +1 -1
  249. package/dist/{index-D4c-port.d.ts → index-fUsw_Mea.d.ts} +6 -6
  250. package/dist/{index-xhBQ1HBx.d.ts → index-wFHfdr6p.d.ts} +34 -34
  251. package/dist/interceptors/index.d.cts +2 -2
  252. package/dist/interceptors/index.d.ts +12 -12
  253. package/dist/interceptors/types.d.cts +2 -2
  254. package/dist/interceptors/types.d.ts +12 -12
  255. package/dist/{localStorageContext-NRP-CdmF.cjs → localStorageContext-C5giszHn.cjs} +2 -2
  256. package/dist/{localStorageContext-BPZ82q-G.js → localStorageContext-DAOJ4be4.js} +2 -2
  257. package/dist/{locators-BMQGmGLq.js → locators-C2fWd-74.js} +1 -1
  258. package/dist/{locators-DxYdak1F.cjs → locators-Cx3q6Z_h.cjs} +1 -1
  259. package/dist/{logger-TBIl4uIH.cjs → logger-0D_8Ip2L.cjs} +1 -1
  260. package/dist/{logger-W3lqg-4b.js → logger-Co0IA3k5.js} +1 -1
  261. package/dist/{models-D-4db7XW.cjs → models-CkJ-wg9Q.cjs} +5 -5
  262. package/dist/{models-c86hYW-F.js → models-UHOY0ak5.js} +5 -5
  263. package/dist/{newOrgConfigAtom-DxILMn2I.cjs → newOrgConfigAtom-CPA6Gp6n.cjs} +1 -1
  264. package/dist/{newOrgConfigAtom-sqve6LZU.js → newOrgConfigAtom-DEUj6H-p.js} +1 -1
  265. package/dist/{newOrgConfigContext-DQiuf8nd.js → newOrgConfigContext-6mlrvr1w.js} +5 -5
  266. package/dist/{newOrgConfigContext-Cl4H9c3q.cjs → newOrgConfigContext-BMvcqPzD.cjs} +5 -5
  267. package/dist/{newOrgConfigContext-CS8IA5Eg.d.ts → newOrgConfigContext-BVyJExeW.d.ts} +2 -2
  268. package/dist/{newOrgConfigContext-5Bw7RwT-.d.cts → newOrgConfigContext-DOdUxlOE.d.cts} +2 -2
  269. package/dist/{nodeSelector-BiCDowlK.d.ts → nodeSelector-DYhDUi7v.d.ts} +1 -1
  270. package/dist/{org-DlAesvQ_.cjs → org-B_cWn2bt.cjs} +1 -1
  271. package/dist/{org-vi0njpBh.js → org-h32_LSEb.js} +1 -1
  272. package/dist/orgAnalyticsConfig-Bm23fw4s.cjs +39 -0
  273. package/dist/orgAnalyticsConfig-CpBmga08.js +14 -0
  274. package/dist/{search-1NQLQD9d.d.ts → search-B1OtJe8Z.d.ts} +2 -2
  275. package/dist/{search-CXXslzAO.cjs → search-D-UfTjB7.cjs} +5 -5
  276. package/dist/{search-filter-types-DPgeG8FS.d.ts → search-filter-types-OI9zH3E_.d.ts} +1 -1
  277. package/dist/{search-DBSMrXWv.js → search-yawhMv22.js} +5 -5
  278. package/dist/{searchContext-DXW6xvXv.cjs → searchContext-CFuwIIW-.cjs} +9 -9
  279. package/dist/{searchContext-mvwUJncR.js → searchContext-CiqOqTJL.js} +7 -7
  280. package/dist/{searchServiceAdapter-DEv1tTn0.cjs → searchServiceAdapter-BGlvoZFE.cjs} +1 -1
  281. package/dist/{searchServiceAdapter-WyCU55NV.js → searchServiceAdapter-Db6jEcJs.js} +1 -1
  282. package/dist/{sessionStorageContext-1Ks_d4Z0.cjs → sessionStorageContext-BmCW091C.cjs} +2 -2
  283. package/dist/{sessionStorageContext-CDcl7NVl.js → sessionStorageContext-CNxkqJi1.js} +2 -2
  284. package/dist/{shopifyUrlContext-CejRZfj7.js → shopifyUrlContext-BXbI0PIG.js} +2 -2
  285. package/dist/{shopifyUrlContext-lnHoAOEf.cjs → shopifyUrlContext-aZMwCfbJ.cjs} +2 -2
  286. package/dist/{spiffyWidgets-B1uc84_g.d.ts → spiffyWidgets-CvEJIuJx.d.ts} +1 -1
  287. package/dist/{systemSettingsContext-B0Kyq7nA.cjs → systemSettingsContext-SozpUezn.cjs} +2 -2
  288. package/dist/{systemSettingsContext-CVUxEcsU.js → systemSettingsContext-kz6yyiFF.js} +2 -2
  289. package/dist/{test-types-y6kp-tiw.d.ts → test-types-DRhqHXw-.d.ts} +1 -1
  290. package/dist/types/index.cjs +1 -16
  291. package/dist/types/index.d.cts +1 -15
  292. package/dist/types/index.d.ts +3 -17
  293. package/dist/types/index.js +2 -16
  294. package/dist/{types-CxObxLKs.cjs → types-BuvXXGxE.cjs} +1 -1
  295. package/dist/types-BwNrLPSZ.cjs +106 -0
  296. package/dist/types-D3uOF0Oy.js +76 -0
  297. package/dist/{types-CS0Hrzja.js → types-DXnG1tV0.js} +1 -1
  298. package/dist/{types-BCz-hOvv.d.ts → types-DZPuBnHe.d.ts} +1 -1
  299. package/dist/{types-Db5Eux6K.d.ts → types-r0Z6CwyF.d.ts} +2 -2
  300. package/dist/types.d.cts +2 -21
  301. package/dist/types.d.ts +4 -23
  302. package/dist/unsupportedProductExceptions-B4f9aLjr.cjs +32 -0
  303. package/dist/unsupportedProductExceptions-DlmraJm8.js +20 -0
  304. package/dist/{urlsParser-DxjoLj98.js → urlsParser-DLCzibqU.js} +1 -1
  305. package/dist/{urlsParser-COzMdJaX.cjs → urlsParser-DhcEZLc_.cjs} +1 -1
  306. package/dist/{useAmplitudeOperations-jqa7K9dH.cjs → useAmplitudeOperations-D0nvIYlt.cjs} +3 -3
  307. package/dist/{useAmplitudeOperations-DYs1h8a_.js → useAmplitudeOperations-Dhks3PgF.js} +2 -2
  308. package/dist/{useAppDetails-C71k0brz.cjs → useAppDetails-B9sGmpJ3.cjs} +7 -7
  309. package/dist/{useAppDetails-BRUqZEyt.js → useAppDetails-qyaQIbWE.js} +4 -4
  310. package/dist/{useDebounce-DZ8Cgiwc.cjs → useDebounce-BZDtUAQ8.cjs} +1 -1
  311. package/dist/{useDebounce-v9cezyjn.js → useDebounce-ueblXZI-.js} +1 -1
  312. package/dist/{useGraphQLConfig-5VwS9Q_Z.js → useGraphQLConfig-BccQUaeW.js} +2 -2
  313. package/dist/{useGraphQLConfig-Cj26_J9I.cjs → useGraphQLConfig-CgKEfVYc.cjs} +2 -2
  314. package/dist/{useIntersection-Cncgxdmy.js → useIntersection-CZSEBUbv.js} +1 -1
  315. package/dist/{useIntersection-m4PEpvG7.cjs → useIntersection-DSDREfj6.cjs} +1 -1
  316. package/dist/{userIdentityContext-BVODeTlN.d.ts → userIdentityContext-BKLedN4R.d.ts} +1 -1
  317. package/dist/userIdentityContext-Cb6lLv6t.cjs +132 -0
  318. package/dist/userIdentityContext-O_DHHPTN.js +115 -0
  319. package/dist/{utils-Covisryh.d.ts → utils-B1v0iXs3.d.ts} +4 -4
  320. package/dist/{utils-BxPPugeP.d.cts → utils-B7PAzB_M.d.cts} +2 -2
  321. package/dist/{utils-DpneNSJf.d.ts → utils-BhyZiDrE.d.ts} +1 -1
  322. package/dist/{utils-DIvMgPe8.js → utils-C4ci_t0-.js} +1 -1
  323. package/dist/{utils-CDw74BCO.cjs → utils-C6imnLBo.cjs} +1 -1
  324. package/dist/utils-Cazq8Q3q.cjs +715 -0
  325. package/dist/{utils-2SWrJ12w.cjs → utils-CvLmSsUj.cjs} +1 -1
  326. package/dist/{utils-CqBxIpEV.js → utils-D82gfbgU.js} +1 -1
  327. package/dist/utils-DFPt3FSw.js +606 -0
  328. package/package.json +14 -13
  329. package/src/application/utils/__tests__/divideArrays.test.ts +12 -13
  330. package/src/atoms/app/index.ts +1 -2
  331. package/src/contexts/enviveConfigContext/__tests__/enviveConfigContext.test.tsx +411 -0
  332. package/src/contexts/types.ts +13 -14
  333. package/src/contexts/userIdentityContext/__tests__/userIdentityContext.test.tsx +663 -0
  334. package/src/contexts/userIdentityContext/userIdentityContext.tsx +6 -0
  335. package/src/hooks/Search/useSearch.tsx +2 -2
  336. package/src/types/index.ts +0 -1
  337. package/src/types.ts +0 -16
  338. package/dist/frontendConfig-CeWhVevA.d.ts +0 -857
  339. package/dist/frontendConfig-OWWJmuPc.d.cts +0 -857
  340. package/dist/globalSearch-B9DRBxSM.cjs +0 -0
  341. package/dist/globalSearch-BpGfkuXz.js +0 -1
  342. package/dist/graphqlConfig-GHZ1UgCw.cjs +0 -73
  343. package/dist/graphqlConfig-mDg6J44N.js +0 -24
  344. package/dist/hooks/FloatingButtonVisibility/index.cjs +0 -73
  345. package/dist/hooks/FloatingButtonVisibility/index.d.cts +0 -7
  346. package/dist/hooks/FloatingButtonVisibility/index.d.ts +0 -7
  347. package/dist/hooks/FloatingButtonVisibility/index.js +0 -69
  348. package/dist/hooks/LastInteraction/index.cjs +0 -34
  349. package/dist/hooks/LastInteraction/index.d.cts +0 -17
  350. package/dist/hooks/LastInteraction/index.d.ts +0 -17
  351. package/dist/hooks/LastInteraction/index.js +0 -32
  352. package/dist/types-CtUb63bt.js +0 -76
  353. package/dist/types-UUvB6h05.cjs +0 -106
  354. package/dist/utils-CLGXsOwE.cjs +0 -1591
  355. package/dist/utils-jYtD3hmA.js +0 -1385
  356. package/src/hooks/FloatingButtonVisibility/index.ts +0 -1
  357. package/src/hooks/FloatingButtonVisibility/useFloatingButtonVisibility.ts +0 -99
  358. package/src/hooks/LastInteraction/index.ts +0 -1
  359. package/src/hooks/LastInteraction/useLastInteraction.ts +0 -42
  360. package/src/types/floatingbuttonoverrides-types.ts +0 -10
  361. /package/dist/{AmplitudeOperations-ni7wVevx.js → AmplitudeOperations-ChZWcSsc.js} +0 -0
  362. /package/dist/{AmplitudeOperations-DxQnurSG.cjs → AmplitudeOperations-JggIc1zD.cjs} +0 -0
  363. /package/dist/{index-CgAfoNpB.d.ts → index-mHc9_XC3.d.ts} +0 -0
@@ -1,106 +0,0 @@
1
-
2
- //#region src/application/models/colorsConfig.ts
3
- var ColorNames = /* @__PURE__ */ function(ColorNames$1) {
4
- ColorNames$1["TextPrimary"] = "text-primary";
5
- ColorNames$1["TextSecondary"] = "text-secondary";
6
- ColorNames$1["TextAccent"] = "text-accent";
7
- ColorNames$1["TextLink"] = "text-link";
8
- ColorNames$1["TextLight"] = "text-light";
9
- ColorNames$1["BackgroundPrimary"] = "background-primary";
10
- ColorNames$1["BackgroundSecondary"] = "background-secondary";
11
- ColorNames$1["BackgroundSecondaryDark"] = "background-secondary-dark";
12
- ColorNames$1["BackgroundTertiary"] = "background-tertiary";
13
- ColorNames$1["BackgroundDark"] = "background-dark";
14
- ColorNames$1["BackgroundLight"] = "background-light";
15
- ColorNames$1["BackgroundSaturated"] = "background-saturated";
16
- ColorNames$1["BorderLight"] = "border-light";
17
- ColorNames$1["BorderMedium"] = "border-medium";
18
- ColorNames$1["BorderDark"] = "border-dark";
19
- ColorNames$1["BorderOutline"] = "border-outline";
20
- ColorNames$1["AccentPrimary"] = "accent-primary";
21
- ColorNames$1["AccentSecondary"] = "accent-secondary";
22
- return ColorNames$1;
23
- }(ColorNames || {});
24
- const colorVar = (color) => `var(--spiffy-colors-${color})`;
25
-
26
- //#endregion
27
- //#region src/contexts/types.ts
28
- var CategoryExtractorType = /* @__PURE__ */ function(CategoryExtractorType$1) {
29
- CategoryExtractorType$1["VisitCategoryMap"] = "VisitCategoryMap";
30
- CategoryExtractorType$1["VisitCategoryDefault"] = "VisitCategoryDefault";
31
- return CategoryExtractorType$1;
32
- }(CategoryExtractorType || {});
33
- var PageVariantTestType = /* @__PURE__ */ function(PageVariantTestType$1) {
34
- PageVariantTestType$1["ShopifyPLP"] = "ShopifyPLP";
35
- PageVariantTestType$1["ShopifyPDP"] = "ShopifyPDP";
36
- PageVariantTestType$1["PageCategory"] = "PageCategory";
37
- PageVariantTestType$1["CatalogCategory"] = "CatalogCategory";
38
- PageVariantTestType$1["TopCatalogCategory"] = "TopCatalogCategory";
39
- PageVariantTestType$1["HasReviews"] = "HasReviews";
40
- PageVariantTestType$1["InCollection"] = "InCollection";
41
- PageVariantTestType$1["HasMerchantTag"] = "HasMerchantTag";
42
- PageVariantTestType$1["FeatureGate"] = "FeatureGate";
43
- PageVariantTestType$1["PlpId"] = "PlpId";
44
- PageVariantTestType$1["QueryParam"] = "QueryParam";
45
- PageVariantTestType$1["ProductId"] = "ProductId";
46
- PageVariantTestType$1["UserHasInteracted"] = "UserHasInteracted";
47
- PageVariantTestType$1["UserHasNotInteracted"] = "UserHasNotInteracted";
48
- PageVariantTestType$1["isLoading"] = "isLoading";
49
- PageVariantTestType$1["isProductComparison"] = "isProductComparison";
50
- PageVariantTestType$1["Fallback"] = "Fallback";
51
- PageVariantTestType$1["UrlResolver"] = "UrlResolver";
52
- PageVariantTestType$1["Null"] = "null";
53
- return PageVariantTestType$1;
54
- }(PageVariantTestType || {});
55
- var WidgetType = /* @__PURE__ */ function(WidgetType$1) {
56
- WidgetType$1["ChatPreview"] = "ChatPreview";
57
- WidgetType$1["SocialProofV2"] = "SocialProofV2";
58
- WidgetType$1["ChatPreviewV2"] = "ChatPreviewV2";
59
- WidgetType$1["ChatPreviewIsLoading"] = "ChatPreviewIsLoading";
60
- WidgetType$1["ChatPreviewPostInteraction"] = "ChatPreviewPostInteraction";
61
- WidgetType$1["ChatPreviewProductComparison"] = "ChatPreviewProductComparison";
62
- WidgetType$1["SuggestionBar"] = "SuggestionBar";
63
- WidgetType$1["SuggestionBarV2"] = "SuggestionBarV2";
64
- WidgetType$1["ImagePromptCard"] = "ImagePromptCard";
65
- WidgetType$1["ImageBanner"] = "ImageBanner";
66
- WidgetType$1["SingleImagePrompt"] = "SingleImagePrompt";
67
- WidgetType$1["SearchPrompt"] = "SearchPrompt";
68
- WidgetType$1["SearchZeroStateEntryPoint"] = "SearchZeroStateEntryPoint";
69
- WidgetType$1["SearchResultsEntryPoint"] = "SearchResultsEntryPoint";
70
- WidgetType$1["SearchOverlayHost"] = "SearchOverlayHost";
71
- WidgetType$1["NoOp"] = "NoOp";
72
- return WidgetType$1;
73
- }(WidgetType || {});
74
-
75
- //#endregion
76
- Object.defineProperty(exports, 'CategoryExtractorType', {
77
- enumerable: true,
78
- get: function () {
79
- return CategoryExtractorType;
80
- }
81
- });
82
- Object.defineProperty(exports, 'ColorNames', {
83
- enumerable: true,
84
- get: function () {
85
- return ColorNames;
86
- }
87
- });
88
- Object.defineProperty(exports, 'PageVariantTestType', {
89
- enumerable: true,
90
- get: function () {
91
- return PageVariantTestType;
92
- }
93
- });
94
- Object.defineProperty(exports, 'WidgetType', {
95
- enumerable: true,
96
- get: function () {
97
- return WidgetType;
98
- }
99
- });
100
- Object.defineProperty(exports, 'colorVar', {
101
- enumerable: true,
102
- get: function () {
103
- return colorVar;
104
- }
105
- });
106
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtVVV2QjZoMDUuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnLnRzIiwiLi4vc3JjL2NvbnRleHRzL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImVudW0gQ29sb3JOYW1lcyB7XG4gIFRleHRQcmltYXJ5ID0gXCJ0ZXh0LXByaW1hcnlcIixcbiAgVGV4dFNlY29uZGFyeSA9IFwidGV4dC1zZWNvbmRhcnlcIixcbiAgVGV4dEFjY2VudCA9IFwidGV4dC1hY2NlbnRcIixcbiAgVGV4dExpbmsgPSBcInRleHQtbGlua1wiLFxuICBUZXh0TGlnaHQgPSBcInRleHQtbGlnaHRcIixcbiAgQmFja2dyb3VuZFByaW1hcnkgPSBcImJhY2tncm91bmQtcHJpbWFyeVwiLFxuICBCYWNrZ3JvdW5kU2Vjb25kYXJ5ID0gXCJiYWNrZ3JvdW5kLXNlY29uZGFyeVwiLFxuICBCYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyayA9IFwiYmFja2dyb3VuZC1zZWNvbmRhcnktZGFya1wiLFxuICBCYWNrZ3JvdW5kVGVydGlhcnkgPSBcImJhY2tncm91bmQtdGVydGlhcnlcIixcbiAgQmFja2dyb3VuZERhcmsgPSBcImJhY2tncm91bmQtZGFya1wiLFxuICBCYWNrZ3JvdW5kTGlnaHQgPSBcImJhY2tncm91bmQtbGlnaHRcIixcbiAgQmFja2dyb3VuZFNhdHVyYXRlZCA9IFwiYmFja2dyb3VuZC1zYXR1cmF0ZWRcIixcbiAgQm9yZGVyTGlnaHQgPSBcImJvcmRlci1saWdodFwiLFxuICBCb3JkZXJNZWRpdW0gPSBcImJvcmRlci1tZWRpdW1cIixcbiAgQm9yZGVyRGFyayA9IFwiYm9yZGVyLWRhcmtcIixcbiAgQm9yZGVyT3V0bGluZSA9IFwiYm9yZGVyLW91dGxpbmVcIixcbiAgQWNjZW50UHJpbWFyeSA9IFwiYWNjZW50LXByaW1hcnlcIixcbiAgQWNjZW50U2Vjb25kYXJ5ID0gXCJhY2NlbnQtc2Vjb25kYXJ5XCIsXG59XG5cbnR5cGUgQ29sb3JNYXBwaW5nID0ge1xuICBba2V5IGluIENvbG9yTmFtZXNdOiBzdHJpbmc7XG59O1xuXG5jb25zdCBjb2xvclZhciA9IChjb2xvcjogQ29sb3JOYW1lcyk6IHN0cmluZyA9PiBgdmFyKC0tc3BpZmZ5LWNvbG9ycy0ke2NvbG9yfSlgO1xuZXhwb3J0IHsgQ29sb3JOYW1lcywgY29sb3JWYXIgfTtcbmV4cG9ydCB0eXBlIHsgQ29sb3JNYXBwaW5nIH07XG4iLCJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uXCI7XG5pbXBvcnQge1xuICBDb2xvck1hcHBpbmcsXG4gIENvbG9yTmFtZXMsXG4gIGNvbG9yVmFyLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9jb2xvcnNDb25maWdcIjtcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlc1wiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLFxuICBDdXN0b21lclNlcnZpY2VUeXBlLFxufSBmcm9tIFwic3JjL3R5cGVzL2N1c3RvbWVyU2VydmljZVwiO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uXCI7XG5pbXBvcnQgeyBET01JbnNlcnRpb25UeXBlIH0gZnJvbSBcInNyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uXCI7XG5cbmltcG9ydCB0eXBlIHtcbiAgUGFnZVZpc2l0Q2F0ZWdvcnksXG4gIFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5LFxufSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50XCI7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tIFwic3JjL3R5cGVzL2N1c3RzZXJ2aWNlLXR5cGVzXCI7XG5pbXBvcnQgeyBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIH0gZnJvbSBcInNyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXNcIjtcbmltcG9ydCB7IFRlc3RQcm9wcyB9IGZyb20gXCJzcmMvdHlwZXMvdGVzdC10eXBlc1wiO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvb3JnQ29uZmlnUmVzdWx0c1wiO1xuXG50eXBlIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMgPVxuICB8IFwiYWx3YXlzXCJcbiAgfCBcImFmdGVyLWludGVyYWN0aW9uLW9uLW1vYmlsZS1hbHdheXMtZGVza3RvcFwiXG4gIHwgXCJhZnRlci1pbnRlcmFjdGlvbi1hbnl3aGVyZVwiXG4gIHwgXCJuZXZlclwiO1xuXG50eXBlIEZsb2F0aW5nRW50cnlQb2ludENvbmZpZyA9IHtcbiAgcG9zaXRpb246IFwiYm90dG9tLWxlZnRcIiB8IFwibWlkZGxlLWxlZnRcIiB8IFwibWlkZGxlLXJpZ2h0XCIgfCBcImJvdHRvbS1yaWdodFwiO1xuICBleHBhbnNpb25UZXh0Pzoge1xuICAgIHBkcDogc3RyaW5nO1xuICAgIHBscDogc3RyaW5nO1xuICB9O1xuICBtaW5pbWl6ZWRDb2xvcjogc3RyaW5nO1xuICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gIHRleHRDb2xvcj86IHN0cmluZztcbiAgc2hvd09wdGlvbjogU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucztcbiAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgaWNvblNpemU/OiBudW1iZXI7XG4gIGljb25TdHJva2VDb2xvcj86IHN0cmluZztcbiAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBmb250U2l6ZT86IG51bWJlcjtcbiAgZXhwYW5kYWJsZT86IGJvb2xlYW47XG59O1xuXG50eXBlIFdlbGNvbWVTZWN0aW9uVmFyaWFudCA9IFwic3RhbmRhcmRcIiB8IFwib3V0bGluZWRcIjtcblxudHlwZSBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCA9IFwic3RhbmRhcmRcIiB8IFwiYWNjZW50XCIgfCBcImJyYW5kXCIgfCBcImxpZ2h0XCI7XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25Db25maWcgPSB7XG4gIHZhcmlhbnQ6IFdlbGNvbWVTZWN0aW9uVmFyaWFudDtcbiAgY29sb3JWYXJpYW50PzogV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQ7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgLy8gaWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgLyogU2VyaWFsaXphYmxlIGljb24gbmFtZSB0aGF0IG1hcHMgdG8gYSBSZWFjdCBjb21wb25lbnQuIFByZWZlcnJlZCBvdmVyIGljb24gZm9yIGRhdGFiYXNlIHN0b3JhZ2UuICovXG4gIGljb25OYW1lPzogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbn07XG5cbnR5cGUgQ2hhdFByZXZpZXdDb25maWcgPSB7XG4gIHZhcmlhbnQ6IFwiZmxhdFwiIHwgXCJmaWxsZWRcIiB8IFwib3V0bGluZWRcIjtcbiAgbGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG4gIGZpbGxlZEJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBpY29uRmlsbENvbG9yOiBzdHJpbmc7XG4gIGJ1dHRvblRleHRDb2xvcj86IHN0cmluZztcbiAgYnV0dG9uVGV4dFNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICBidXR0b25UZXh0SG92ZXJDb2xvcj86IHN0cmluZztcbiAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBzdHJpbmc7XG4gIGJ1dHRvbkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBidXR0b25Cb3JkZXJIb3ZlckNvbG9yPzogc3RyaW5nO1xuICBjb3BpZXM6IHsgcGRwOiBzdHJpbmdbXTsgcGxwOiBzdHJpbmdbXSB9O1xuICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzPzogeyBwZHA6IHN0cmluZ1tdOyBwbHA6IHN0cmluZ1tdIH07XG4gIHN0YXRpY1BMUEltYWdlcz86IHN0cmluZ1tdO1xuICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbiAgaGVhZGVyQ29uZmlnPzogQ2hhdFByZXZpZXdIZWFkZXJDb25maWc7XG4gIHRvcE1hcmdpbj86IG51bWJlcjtcbn07XG5cbnR5cGUgQ2hhdFByZXZpZXdIZWFkZXJDb25maWcgPSB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgaW1hZ2VIZWlnaHQ/OiBudW1iZXI7XG4gIHNwYXJrbGVzQ29sb3I/OiBzdHJpbmc7IC8vIHVzZWQgYnk6IHNwYW54LCB1bmlxdWVWaW50YWdlLCBkcmVhbWxhbmRCYWJ5XG4gIGZvbnRTaXplPzogc3RyaW5nO1xuICBpY29uV2lkdGg/OiBzdHJpbmc7XG4gIGljb25IZWlnaHQ/OiBzdHJpbmc7XG59O1xuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdGb290ZXJDb25maWcge1xuICBoYXNGYWRlPzogYm9vbGVhbjsgLy8gdXNlZCBieTogc3BhbngsIHVuaXF1ZVZpbnRhZ2VcbiAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ/OiBcImRhcmtcIiB8IFwibGlnaHRcIiB8IFwib3V0bGluZWRcIjtcbiAgc3VnZ2VzdGlvbnNCYWNrZ3JvdW5kPzogc3RyaW5nOyAvLyB1c2VkIGJ5OiBjYXJiYWhuXG4gIHJlcGx5QnV0dG9uSWNvbj86XG4gIHwgXCJzZW5kXCJcbiAgfCBcIm1hZ25pZnlpbmdHbGFzc1wiXG4gIHwgXCJ0aGluTWFnbmlmeWluZ0dsYXNzXCJcbiAgfCBcInNlYXJjaEljb25cIjtcbiAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICByZXBseUlucHV0SGFzU2hhZG93PzogYm9vbGVhbjsgLy8gdXNlZCBieTogc3BhbnhcbiAgcmVwbHlJbnB1dEhhc0JvcmRlcj86IGJvb2xlYW47IC8vIHVzZWQgYnk6IHNwYW54XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZzsgLy8gdXNlZCBieSBzcGFueCwgdHVzaGJhYnksIHdpbGwgbmVlZCBjdXN0b20gQ1NTIHdoZW4gc3dpdGNoaW5nIG92ZXJcbn1cblxudHlwZSBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50ID0gXCJzdGFuZGFyZFwiIHwgXCJib3JkZXJlZFwiO1xuXG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSBcIm5ldXRyYWxcIiB8IFwiYnJhbmRcIiB8IFwicHJlbWl1bVwiO1xuXG5pbnRlcmZhY2UgUHJvZHVjdFJldmlld0NvbmZpZyB7XG4gIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICB2ZXJpZmllZEJ1eWVyVGl0bGU6IHN0cmluZztcbiAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG5cbnR5cGUgUGFnZUNhcmRWYXJpYW50ID0gXCJmaWxsZWRcIiB8IFwib3V0bGluZWRcIiB8IFwibWluaW1hbFwiO1xuXG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gXCJub25lXCIgfCBcInNoYWRvd1wiIHwgXCJsaWZ0XCI7XG5cbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9IFwicHJpbWFyeVwiIHwgXCJhY2NlbnRcIiB8IFwiYmFja2dyb3VuZFwiIHwgXCJub25lXCI7XG5cbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gIHZhcmlhbnQ6IFBhZ2VDYXJkVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBQYWdlQ2FyZEhvdmVyVmFyaWFudDtcbiAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xuXG50eXBlIFByb2R1Y3RDYXJkVmFyaWFudCA9XG4gIHwgXCJmaWxsZWRcIlxuICB8IFwiYm9yZGVyZWRcIlxuICB8IFwibWluaW1hbFwiXG4gIHwgXCJ0cmFuc3BhcmVudEJvcmRlcmVkXCI7XG5cbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSBcImJhY2tncm91bmREYXJrXCIgfCBcIm5vbmVcIjtcblxudHlwZSBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQgPSBcIm5vcm1hbFwiIHwgXCJ0YWxsXCIgfCBcInNxdWFyZVwiO1xuXG5pbnRlcmZhY2UgUHJvZHVjdENhcmRDb25maWcge1xuICB2YXJpYW50OiBQcm9kdWN0Q2FyZFZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gIGxheW91dFZhcmlhbnQ6IFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudDtcbiAgcHJpY2VQcmVmaXg/OiBzdHJpbmc7XG59XG5cbnR5cGUgQ1NTd2l0Y2hDb25maWcgPSB7XG4gIHZhcmlhbnQ6IFwiYXR0YWNoZWRcIiB8IFwiZGV0YWNoZWRcIjtcbiAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGJvcmRlckNvbG9yOiBzdHJpbmc7XG4gIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gIHNlbGVjdGVkQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICB1bnNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIHN1cHBvcnRUaXRsZT86IHN0cmluZztcbiAgc3BpZmZ5VGl0bGU/OiBzdHJpbmc7XG4gIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xuXG50eXBlIENoYXRIZWFkZXJDb25maWcgPSB7XG4gIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcbiAgY2hldnJvbkNvbG9yOiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xuICBpY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICBjbG9zZUljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgaGVhZGVyQmFySGVpZ2h0UGFydGlhbFZpZXc6IG51bWJlcjtcbiAgaGVhZGVyQmFySGVpZ2h0RnVsbFZpZXc6IG51bWJlcjtcbiAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xuXG50eXBlIFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVR5cGU7XG4gIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbn07XG5cbnR5cGUgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVR5cGU7XG4gIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICBjaGF0RW5hYmxlZER1cmluZ0J1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICBzaG93TmFtZUlucHV0PzogYm9vbGVhbjtcbiAgZm9ybUFpTmFtZT86IHN0cmluZztcbiAgd2VsY29tZVRpdGxlOiBzdHJpbmc7XG4gIHdlbGNvbWVEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzaG93V2VsY29tZU9uRm9ybT86IGJvb2xlYW47XG4gIGNvbnRhY3RTdWJqZWN0T3B0aW9ucz86IHN0cmluZ1tdO1xuICBnZXRDdXN0b21XYWl0aW5nTWVzc2FnZT86IChuYW1lPzogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICB3aXRoaW5CdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gIG91dHNpZGVCdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICBzdWdnZXN0ZWRBSVF1ZXN0aW9ucz86IHN0cmluZ1tdO1xuICBidXNpbmVzc0hvdXJzUG9sbGluZz86IG51bWJlcjtcbiAgbWF4ZmlsZVVwbG9hZFNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAqL1xuICBidXNpbmVzc0hvdXJzU3RhcnRVVEM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc0VuZFVUQz86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAqL1xuICBidXNpbmVzc0hvdXJzVGltZXpvbmU/OiBzdHJpbmc7XG5cbiAgc2hvd0FJU3VnZ2VzdGlvbnNXaXRoaW5CdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgd2FpdGluZ01lc3NhZ2VQb3NpdGlvbj86IFwiQkVGT1JFX01FU1NBR0VTXCIgfCBcIkFGVEVSX01FU1NBR0VTXCI7XG4gIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc0luaXRpYWxTdGF0ZT86IENoYXRTdGF0ZTtcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gIHJlb3BlbkNoYXRNZXNzYWdlOiBzdHJpbmc7XG59O1xuXG50eXBlIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID1cbiAgfCBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvblxuICB8IEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcblxudHlwZSBDb252ZXJzYXRpb25hbFNlYWNoID0ge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgcmVwbHlJbnB1dD86IFJlcGx5SW5wdXRDb25maWc7XG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW107XG4gIGVudHJ5cG9pbnRCZ0NvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50VGV4dENvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuQ29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRCdG5UZXh0Q29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRCdG5Cb3JkZXJDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludENvbnRhaW5lcj86IHN0cmluZztcbiAgZW50cnlwb2ludFRyaWdnZXI/OiBzdHJpbmc7XG4gIHByb2R1Y3RHcmlkQ29udGFpbmVyPzogc3RyaW5nO1xuICBnZW5lcmFsU2VhcmNoQnRuPzogc3RyaW5nO1xuICBwYWdlQ29udGVudD86IHN0cmluZztcbiAgc2VhcmNoQ29udGVudD86IHN0cmluZztcbiAgc29ydGluZ1RpdGxlPzogc3RyaW5nO1xuICBzZWxlY3Rpb25UaXRsZT86IHN0cmluZztcbiAgc29ydGluZ0ZvbnQ/OiBzdHJpbmc7XG4gIG9wdGlvbnNGb250Pzogc3RyaW5nO1xuICBzb3J0aW5nQnV0dG9uVGV4dD86IHN0cmluZztcbn07XG5cbnR5cGUgQ2hhdE1lc3NhZ2VWYXJpYW50ID0gXCJzdGFuZGFyZFwiIHwgXCJwcmVtaXVtXCIgfCBcImFjY2VudFwiO1xuXG5pbnRlcmZhY2UgQ2hhdE1lc3NhZ2VDb25maWcge1xuICBhc3Npc3RhbnRDaGF0VGl0bGU6IHN0cmluZztcbiAgdmFyaWFudDogQ2hhdE1lc3NhZ2VWYXJpYW50O1xuICBwcm9kdWN0TGluazoge1xuICAgIHZhcmlhbnQ6IFByb2R1Y3RMaW5rVmFyaWFudDtcbiAgICBob3ZlclZhcmlhbnQ6IFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50O1xuICAgIGljb25WYXJpYW50OiBQcm9kdWN0TGlua0ljb25WYXJpYW50O1xuICB9O1xufVxuXG5pbnRlcmZhY2UgUmVwbHlJbnB1dENvbmZpZyB7XG4gIC8vIFRPRE8gY29uc2lkZXIgbWFraW5nIHRoaXMgYSBudW1iZXJcbiAgc2l6ZT86IFwibWRcIiB8IFwibGdcIjtcbiAgc2VuZEljb246IFwiYXJyb3dVcFwiIHwgXCJzZW5kXCIgfCBcInNlYXJjaFwiO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgLy8gbWF4aW11bSBoZWlnaHQgb2YgdGhlIHBhcnRpYWwgdmlldyBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHNjcmVlbiBoZWlnaHRcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGJvcmRlclJhZGl1cz86IHN0cmluZztcbn1cblxudHlwZSBQcm9kdWN0TGlua0ljb25WYXJpYW50ID1cbiAgfCBcImFjY2VudFByaW1hcnlcIlxuICB8IFwiYmFja2dyb3VuZFByaW1hcnlcIlxuICB8IFwiYmFja2dyb3VuZFByaW1hcnlEYXJrXCJcbiAgfCBcImJvcmRlckxpZ2h0XCJcbiAgfCBcImJhY2tncm91bmRTYXR1cmF0ZWRcIjtcblxudHlwZSBQcm9kdWN0TGlua1ZhcmlhbnQgPSBcInRleHRMaW5rXCI7XG5cbnR5cGUgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQgPSBcImJhY2tncm91bmREYXJrXCI7XG5cbnR5cGUgU2VhcmNoQ2FyZFZhcmlhbnQgPVxuICB8IFwiYmFja2dyb3VuZFByaW1hcnlcIlxuICB8IFwiYmFja2dyb3VuZFNlY29uZGFyeVwiXG4gIHwgXCJiYWNrZ3JvdW5kU2Vjb25kYXJ5RGFya1wiXG4gIHwgXCJiYWNrZ3JvdW5kTGlnaHRcIlxuICB8IFwiYmFja2dyb3VuZFNhdHVyYXRlZFwiO1xuXG50eXBlIFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50ID1cbiAgfCBcIm91dGxpbmVkXCJcbiAgfCBcIm91dGxpbmVkTGlnaHRcIlxuICB8IFwicHJpbWFyeVwiXG4gIHwgXCJzZWNvbmRhcnlcIlxuICB8IFwidGVydGlhcnlcIlxuICB8IFwiZGFya1wiXG4gIHwgXCJkYXJrQWNjZW50XCJcbiAgfCBcImRhcmtQcmltYXJ5XCJcbiAgfCBcInNlY29uZGFyeURhcmtcIlxuICB8IFwic2Vjb25kYXJ5QWNjZW50XCJcbiAgfCBcInRyYW5zcGFyZW50XCJcbiAgfCBcInRyYW5zcGFyZW50RGFya1wiXG4gIHwgXCJsaWdodERhcmtcIjtcblxuaW50ZXJmYWNlIFN1Z2dlc3Rpb25CdXR0b25Db25maWcge1xuICB2YXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBhbnN3ZXJWYXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGJvcmRlclJhZGl1cz86IFwic21cIiB8IFwibWRcIiB8IFwibGdcIjtcbn1cblxudHlwZSBOdW1Sb3dzID0gXCJkZWZhdWx0XCIgfCBcImFsd2F5c09uZVJvd1wiIHwgXCJhbHdheXNUd29Sb3dzXCIgfCBcInR3b1Jvd3NPbk1vYmlsZVwiO1xuXG5pbnRlcmZhY2UgQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcge1xuICB0eXBlOiBcImFscGhhYmV0aWNcIjtcbn1cbmludGVyZmFjZSBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHtcbiAgdHlwZTogXCJwcm9kdWN0Q291bnRcIjtcbn1cbmludGVyZmFjZSBDdXN0b21GaWx0ZXJTb3J0aW5nIHtcbiAgdHlwZTogXCJjdXN0b21cIjtcbiAgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xufVxuXG50eXBlIEZpbHRlclNvcnRpbmcgPVxuICB8IEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nXG4gIHwgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZ1xuICB8IEN1c3RvbUZpbHRlclNvcnRpbmc7XG5cbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgZmlsdGVySWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbmludGVyZmFjZSBEeW5hbWljRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gIHR5cGU6IFwiZHluYW1pY1wiO1xuICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgc29ydGluZzogRmlsdGVyU29ydGluZztcbn1cblxuaW50ZXJmYWNlIFByaWNlRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gIHR5cGU6IFwicHJpY2VcIjtcbiAgYnVja2V0U2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGaWx0ZXJBdHRyaWJ1dGUgPSBEeW5hbWljRmlsdGVyQ29uZmlnIHwgUHJpY2VGaWx0ZXJDb25maWc7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQgPVxuICB8IFwiYmFja2dyb3VuZFRlcnRpYXJ5XCJcbiAgfCBcImJhY2tncm91bmREYXJrXCJcbiAgfCBcImJhY2tncm91bmRQcmltYXJ5XCI7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVMYXlvdXQgPSBcImlucHV0XCIgfCBcImljb25cIjtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSW5wdXRWYXJpYW50ID0gXCJzdGFuZGFyZFwiO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJY29uVmFyaWFudCA9IFwidGhpblwiIHwgXCJib2xkXCI7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50ID0gXCJkYXJrQnV0dG9uXCIgfCBcImxpZ2h0QnV0dG9uXCI7XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RHcmlkVmFyaWFudCA9IFwic3RhbmRhcmRcIiB8IFwic3F1YXJlXCI7XG5cbnR5cGUgVXNlclF1ZXJ5QnV0dG9uSWNvbiA9XG4gIHwgXCJtYWduaWZ5aW5nR2xhc3NcIlxuICB8IFwic2VuZFwiXG4gIHwgXCJtYWduaWZ5aW5nR2xhc3NUaGluXCJcbiAgfCBcInNlbmRBcnJvd1wiXG4gIHwgXCJzZWFyY2hJY29uXCI7XG5cbmludGVyZmFjZSBVc2VyUXVlcnlCdXR0b25Db25maWcge1xuICB2YXJpYW50PzogXCJib3hcIiB8IFwidW5kZXJsaW5lTGlnaHRcIiB8IFwidW5kZXJsaW5lRGFya1wiO1xuICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gIGljb246IFVzZXJRdWVyeUJ1dHRvbkljb247XG59XG5cbi8vIFRPRE86IHRoaXMgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSB0b3AtbGV2ZWwgd2lkZ2V0IGNvbmZpZ1xuaW50ZXJmYWNlIFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZyB7XG4gIGNvcHk6IHN0cmluZztcbiAgbGluazogc3RyaW5nO1xuICBsaW5rVGV4dDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTWVyY2hhbnRWYXJpYW50U2V0dGluZ3Mge1xuICBkeW5hbWljVmFyaWFudHM6IHtcbiAgICBlbmFibGVkOiBib29sZWFuOyAvLyBUaGlzIGZlYXR1cmUgd2lsbCBlbmFibGUgZHluYW1pYyB2YXJpYW50cyBmb3IgdGhlIG1lcmNoYW50LiBVc2VmdWwgZm9yIFNQQSdzXG4gICAgcmVmcmVzaEludGVydmFsPzogbnVtYmVyOyAvLyBUaGUgaW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzIHRvIGNoZWNrIGZvciBjaGFuZ2VzIGluIHRoZSBVUkxcbiAgfTtcbn1cblxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdENvbmZpZyB7XG4gIGVuYWJsZVdhdGVybWFyazogYm9vbGVhbjtcbiAgdXNlclF1ZXJ5SW5wdXRFbmFibGVkOiBib29sZWFuO1xuICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICBuZXZlclNob3dTaW5nbGVQcm9kdWN0Q2FyZHM/OiBib29sZWFuO1xuICB0ZXJtc0FuZENvbmRpdGlvbnNDb25maWc/OiBUZXJtc0FuZENvbmRpdGlvbnNDb25maWc7XG5cbiAgLy8gRm9vdGVyIGNvbmZpZ1xuICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnPzogU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgcmVwbHlJbnB1dENvbmZpZzogUmVwbHlJbnB1dENvbmZpZztcbn1cblxuaW50ZXJmYWNlIFNlYXJjaENvbmZpZyB7XG4gIGVuYWJsZUdsb2JhbFNlYXJjaDogYm9vbGVhbjtcbiAgc2VhcmNoRmlsdGVyQ29uZmlnOiBGaWx0ZXJBdHRyaWJ1dGVbXTtcbiAgcmVkaXJlY3RTZWFyY2hSZXN1bHRzVXJsPzogc3RyaW5nO1xuICBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzPzogYm9vbGVhbjtcbn1cblxudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgc2hvcnROYW1lOiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc/OiBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWc7XG4gIC8vIERlcHJlY2F0ZWQgLSByZW1vdmUgd2l0aCBDaGF0UHJldmlldyByZXdyaXRlXG4gIGNoYXRQcmV2aWV3Q29uZmlnPzogQ2hhdFByZXZpZXdDb25maWc7XG5cbiAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAvLyBEZXByZWNhdGVkIC0gcmVtb3ZlIHdoZW4gR2xvYmFsIFNlYXJjaCBpcyBmdWxseSBsYXVuY2hlZFxuICBjb252ZXJzYXRpb25hbFNlYXJjaD86IENvbnZlcnNhdGlvbmFsU2VhY2g7XG5cbiAgbWVyY2hhbnRPdmVycmlkZUNzcz86IHN0cmluZztcblxuICAvLyBEZXByZWNhdGVkIFRPRE86IFJlbW92ZSB0aGlzIGRlcHJlY2F0ZWQgdmFsdWUgd2hlbiBHcm9vdmUgQ1ggaGFzIHByb3BlciB1bmlmaWVkIGJ1dHRvbiBzdXBwb3J0XG4gIC8vIHNlbGVjdG9ycyBmb3IgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgaGlkZGVuIHdoZW4gdGhlIGNoYXQgaXMgb3BlblxuICAvLyBlLmcuIENTIHdpZGdldHMgd2l0aCBtYXggei1pbmRleCAoXCJkaXZbaWQqPSdjcy1jb250YWluZXInXVwiKVxuICBoaWRkZW5FbGVtZW50U2VsZWN0b3JzPzogc3RyaW5nW107XG5cbiAgbWVyY2hhbnRWYXJpYW50U2V0dGluZ3M/OiBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncztcbiAgLy8gVE9ETzogTWlncmF0ZSBhbGwgZmxvYXRpbmcgY2hhdCBjb25maWcgaW50byB0aGlzIHRvcC1sZXZlbCBrZXlcbiAgLy9cbiAgZmxvYXRpbmdDaGF0Q29uZmlnOiBGbG9hdGluZ0NoYXRDb25maWc7XG5cbiAgLy8gQ29udGFpbiBhbGwgc2VhcmNoIGNvbmZpZyBoZXJlXG4gIHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnO1xuICAvLyBUT0RPOiBNb3ZlIHRoZXNlIGludG8gRmxvYXRpbmdDaGF0Q29uZmlnXG4gIC8vIENoYXQgSGVhZGVyIHJlbGF0ZWQgdmFsdWVzXG4gIGNoYXRIZWFkZXI6IENoYXRIZWFkZXJDb25maWc7XG4gIHN0aWNreUFnZW50U3dpdGNoU3VnZ2VzdGlvbj86IGJvb2xlYW47XG4gIHBhcnRpYWxWaWV3Q29uZmlnOiBQYXJ0aWFsVmlld0NvbmZpZztcbiAgd2VsY29tZVNlY3Rpb25Db25maWc/OiBXZWxjb21lU2VjdGlvbkNvbmZpZztcbiAgLy8gRGlmZmVyZW50IHJlc3BvbnNlIHZhbHVlc1xuICBwcm9kdWN0Q2FyZENvbmZpZz86IFByb2R1Y3RDYXJkQ29uZmlnO1xuICBwcm9kdWN0UmV2aWV3Q29uZmlnPzogUHJvZHVjdFJldmlld0NvbmZpZztcbiAgcGFnZUNhcmRDb25maWc/OiBQYWdlQ2FyZENvbmZpZztcbiAgY2hhdE1lc3NhZ2VDb25maWc6IENoYXRNZXNzYWdlQ29uZmlnO1xufTtcblxudHlwZSBJbnNlcnRpb25Qb2ludCA9IHtcbiAgc2VsZWN0b3I6IHN0cmluZztcbiAgLy8gdGhpcyBpcyB0aGUgaW5kZXggb2YgdGhlIHRhcmdldCBlbGVtZW50LCAwIGlmIG1pc3NpbmdcbiAgc2VsZWN0aW9uSW5kZXg/OiBudW1iZXI7XG4gIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xuXG50eXBlIFVSTFRlc3QgPSBcInNob3BpZnlcIiB8IFwibnVsbFwiO1xuXG50eXBlIElkRXh0cmFjdG9yID1cbiAgfCBcInNob3BpZnktcHJvZHVjdC1pZFwiXG4gIHwgXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIlxuICB8IFwic2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWRcIlxuICB8IFwidXJsLXJlc29sdmVyLXByb2R1Y3QtaWRcIlxuICB8IFwidXJsLXJlc29sdmVyLXBscC1pZFwiXG4gIHwgXCJudWxsXCI7XG5cbi8vIFRoaXMgY29udGFpbnMgYSBtYXAgYmV0d2VlbiBQYWdlVmlzaXRDYXRlZ29yeSBhbmQgYSBsaXN0IG9mIFVSTCdzIHRoYXQgYXJlIGNsYXNzaWZpZWQgYXMgdGhlIHZhbHVlXG5lbnVtIENhdGVnb3J5RXh0cmFjdG9yVHlwZSB7XG4gIFZpc2l0Q2F0ZWdvcnlNYXAgPSBcIlZpc2l0Q2F0ZWdvcnlNYXBcIixcbiAgVmlzaXRDYXRlZ29yeURlZmF1bHQgPSBcIlZpc2l0Q2F0ZWdvcnlEZWZhdWx0XCIsXG59XG5cbmludGVyZmFjZSBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8VCBleHRlbmRzIENhdGVnb3J5RXh0cmFjdG9yVHlwZT4ge1xuICB0eXBlOiBUO1xufVxuXG4vLyBUaGlzIG1hcCBiZXR3ZWVucyBhIGNhdGVnb3J5IGFuZCBhIGxpc3Qgb2YgdXJsIHBhdHRlcm5zXG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeU1hcFxuICBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeU1hcD4ge1xuICBtYXA6IHtcbiAgICBba2V5IGluIFBhZ2VWaXNpdENhdGVnb3J5XT86IHN0cmluZ1tdO1xuICB9O1xufVxuXG4vLyBUaGlzIHdpbGwgcmV0dXJuIGEgaGFyZC1jb2RlZCBkZWZhdWx0IFBhZ2VWaXNpdENhdGVnb3J5LiBJdCBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGJ5IGZhbGxiYWNrIHBhZ2UgdHlwZXNcbmludGVyZmFjZSBWaXNpdENhdGVnb3J5RGVmYXVsdFxuICBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeURlZmF1bHQ+IHtcbiAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxuXG50eXBlIENhdGVnb3J5RXh0cmFjdG9yID0gVmlzaXRDYXRlZ29yeU1hcCB8IFZpc2l0Q2F0ZWdvcnlEZWZhdWx0O1xuXG50eXBlIFdyYXBwaW5nRWxlbWVudCA9IHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIGVsZW1lbnQ6IHN0cmluZztcbiAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZTtcbn07XG5cbmVudW0gUGFnZVZhcmlhbnRUZXN0VHlwZSB7XG4gIFNob3BpZnlQTFAgPSBcIlNob3BpZnlQTFBcIixcbiAgU2hvcGlmeVBEUCA9IFwiU2hvcGlmeVBEUFwiLFxuICBQYWdlQ2F0ZWdvcnkgPSBcIlBhZ2VDYXRlZ29yeVwiLFxuICBDYXRhbG9nQ2F0ZWdvcnkgPSBcIkNhdGFsb2dDYXRlZ29yeVwiLFxuICBUb3BDYXRhbG9nQ2F0ZWdvcnkgPSBcIlRvcENhdGFsb2dDYXRlZ29yeVwiLFxuICBIYXNSZXZpZXdzID0gXCJIYXNSZXZpZXdzXCIsXG4gIEluQ29sbGVjdGlvbiA9IFwiSW5Db2xsZWN0aW9uXCIsXG4gIEhhc01lcmNoYW50VGFnID0gXCJIYXNNZXJjaGFudFRhZ1wiLFxuICBGZWF0dXJlR2F0ZSA9IFwiRmVhdHVyZUdhdGVcIixcbiAgUGxwSWQgPSBcIlBscElkXCIsXG4gIFF1ZXJ5UGFyYW0gPSBcIlF1ZXJ5UGFyYW1cIixcbiAgUHJvZHVjdElkID0gXCJQcm9kdWN0SWRcIixcbiAgVXNlckhhc0ludGVyYWN0ZWQgPSBcIlVzZXJIYXNJbnRlcmFjdGVkXCIsXG4gIFVzZXJIYXNOb3RJbnRlcmFjdGVkID0gXCJVc2VySGFzTm90SW50ZXJhY3RlZFwiLFxuICBpc0xvYWRpbmcgPSBcImlzTG9hZGluZ1wiLFxuICBpc1Byb2R1Y3RDb21wYXJpc29uID0gXCJpc1Byb2R1Y3RDb21wYXJpc29uXCIsXG4gIEZhbGxiYWNrID0gXCJGYWxsYmFja1wiLFxuICBVcmxSZXNvbHZlciA9IFwiVXJsUmVzb2x2ZXJcIixcbiAgTnVsbCA9IFwibnVsbFwiLFxufVxuXG5pbnRlcmZhY2UgQmFzZVBhZ2VWYXJpYW50VGVzdDxUIGV4dGVuZHMgUGFnZVZhcmlhbnRUZXN0VHlwZT4ge1xuICB0ZXN0VHlwZTogVDtcbn1cblxuaW50ZXJmYWNlIFRvcENhdGFsb2dDYXRlZ29yeVxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Ub3BDYXRhbG9nQ2F0ZWdvcnk+IHtcbiAgdG9wQ2F0ZWdvcnk6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgQ2F0YWxvZ0NhdGVnb3J5VGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5DYXRhbG9nQ2F0ZWdvcnk+IHtcbiAgY2F0ZWdvcnk6IFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5O1xufVxuXG5pbnRlcmZhY2UgSGFzUmV2aWV3c1Rlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cz4ge1xuICByZXZpZXdNaW5pbXVtPzogbnVtYmVyO1xufVxuXG4vLyBUaGlzIHdpbGwgcmV0dXJuIHRydWUgaWYgdGhlIHByb2R1Y3QgaXMgaW4gYW55IG9mIHRoZSBsaXN0ZWQgY29sbGVjdGlvbnNcbmludGVyZmFjZSBJbkNvbGxlY3Rpb25UZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbj4ge1xuICBjb2xsZWN0aW9uczogc3RyaW5nW107XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvZHVjdCBoYXMgYW55IG9mIHRoZSBsaXN0ZWQgbWVyY2hhbnQgdGFnc1xuaW50ZXJmYWNlIEhhc01lcmNoYW50VGFnVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNNZXJjaGFudFRhZz4ge1xuICBtZXJjaGFudFRhZ3M6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgU2hvcGlmeVBMUFVSTFRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUD4ge31cblxuaW50ZXJmYWNlIFNob3BpZnlQRFBVUkxUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFA+IHt9XG5cbmludGVyZmFjZSBQYWdlQ2F0ZWdvcnlUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlBhZ2VDYXRlZ29yeT4ge1xuICBleHRyYWN0b3I6IENhdGVnb3J5RXh0cmFjdG9yO1xufVxuXG5pbnRlcmZhY2UgRmVhdHVyZUdhdGVUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlPiB7XG4gIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXM7XG59XG5cbmludGVyZmFjZSBQcm9kdWN0SWRUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlByb2R1Y3RJZD4ge1xuICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xuICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFBscElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZD4ge1xuICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gIHBscElkczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gIHF1ZXJ5UGFyYW06IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge31cblxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge31cblxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7fVxuXG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvblxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7fVxuXG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge31cblxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge31cblxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRUZXN0ID1cbiAgfCBQYWdlQ2F0ZWdvcnlUZXN0XG4gIHwgU2hvcGlmeVBMUFVSTFRlc3RcbiAgfCBTaG9waWZ5UERQVVJMVGVzdFxuICB8IENhdGFsb2dDYXRlZ29yeVRlc3RcbiAgfCBUb3BDYXRhbG9nQ2F0ZWdvcnlcbiAgfCBIYXNSZXZpZXdzVGVzdFxuICB8IEluQ29sbGVjdGlvblRlc3RcbiAgfCBIYXNNZXJjaGFudFRhZ1Rlc3RcbiAgfCBGZWF0dXJlR2F0ZVRlc3RcbiAgfCBQcm9kdWN0SWRUZXN0XG4gIHwgUGxwSWRUZXN0XG4gIHwgUXVlcnlQYXJhbVRlc3RcbiAgfCBVc2VySGFzSW50ZXJhY3RlZFRlc3RcbiAgfCBVc2VySGFzTm90SW50ZXJhY3RlZFRlc3RcbiAgfCBJc0xvYWRpbmdUZXN0XG4gIHwgSXNQcm9kdWN0Q29tcGFyaXNvblxuICB8IFBhZ2VGYWxsYmFja1Rlc3RcbiAgfCBVcmxSZXNvbHZlclRlc3Q7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHNvY2lhbCBwcm9vZiBlbWJlZGRlZCB3aWRnZXRcbiAqXG4gKiBAcGFyYW0gaGVhZGVyVGl0bGUgLSBUaGUgdGl0bGUgdGV4dCB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgaGVhZGVyXG4gKiBAcGFyYW0gc3RhdGljU3VnZ2VzdGlvbnMgLSBBIGxpc3Qgb2Ygc3RyaW5ncyB0byBkaXNwbGF5IGFzIHN1Z2dlc3Rpb25zIGluIHRoZSB3aWRnZXRcbiAqIEBwYXJhbSBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGZvb3RlclxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50IC0gVGhlIHZhcmlhbnQgb2YgdGhlIHN1Z2dlc3Rpb24gYnV0dG9uIHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBib2R5XG4gKiBAcGFyYW0gc3RhdGljSW1hZ2VJbmRleCAtIEluZGV4IG9mIHRoZSBpbWFnZVVybCB0byB1c2UgZnJvbSB0aGUgcHJvZHVjdCByZXNwb25zZVxuICovXG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZDb25maWcge1xuICBjdXN0b21lclF1ZXJ5OiBzdHJpbmc7XG4gIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gIHN0YXRpY1BMUEltYWdlc0xheW91dD86IFwiZ3JpZFwiIHwgXCJob3Jpem9udGFsXCI7XG4gIGhlYWRlckZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gIHN0YXRpY1BMUEltYWdlTmFtZXM/OiBzdHJpbmdbXTtcbiAgc3RhdGljSW1hZ2VJbmRleD86IG51bWJlcjtcbiAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBzdWdnZXN0aW9uQnV0dG9uRGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICB1c2VyUXVlcnlCdXR0b25Db25maWc/OiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gIGxvZ29OYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGNyZWF0aW5nIHRoZSBtb3VudCBwb2ludCBmb3IgYSB3aWRnZXRcbiAqXG4gKiBAcGFyYW0gY2xhc3NOYW1lIC0gT3B0aW9uYWwgY2xhc3MgbmFtZSB0byBhcHBseSB0byB0aGUgbW91bnQgcG9pbnQuIFRhaWx3aW5kIGNsYXNzZXMgYXJlIHN1cHBvcnRlZFxuICogYW5kIGVuY291cmFnZWQuIFVzZSB0aGlzIHBhcmFtZXRlciB0byBzdHlsZSB0aGUgbW91bnRpbmcgY29udGFpbmVyIGZvciB0aGUgd2lkZ2V0LlxuICovXG5leHBvcnQgdHlwZSBXaWRnZXRNb3VudGluZ0NvbmZpZyA9IHtcbiAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICBjb250YWluZXJJZDogc3RyaW5nO1xuICB0ZXN0SWQ6IHN0cmluZztcbiAgcGFyZW50SW5zZXJ0aW9uUG9pbnQ/OiBJbnNlcnRpb25Qb2ludDtcbiAgaW5zZXJ0aW9uUG9pbnQ6IEluc2VydGlvblBvaW50O1xuICBncmlkSW5zZXJ0aW9uVHlwZT86IEdyaWRJbnNlcnRpb25UeXBlO1xuICB3cmFwcGluZ0VsZW1lbnQ/OiBXcmFwcGluZ0VsZW1lbnQ7XG4gIGRpdkNoZWNrU2VsZWN0b3I/OiBzdHJpbmc7XG4gIHN1cHByZXNzaW9uU2VsZWN0b3I/OiBzdHJpbmc7XG4gIHN0eWxlPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBkYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG50eXBlIFN0YXRpY1dpZGdldE1vdW50aW5nID0ge1xuICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBEeW5hbWljV2lkZ2V0TW91bnRpbmcgPSB7XG4gIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgbW91bnRpbmdQb2ludFdpZGdldHM6IFdpZGdldERpc3BsYXlUZXN0c1tdO1xufTtcblxudHlwZSBXaWRnZXREaXNwbGF5VGVzdHMgPSB7XG4gIHRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbiAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG5cbnR5cGUgV2lkZ2V0TW91bnRpbmcgPSBTdGF0aWNXaWRnZXRNb3VudGluZyB8IER5bmFtaWNXaWRnZXRNb3VudGluZztcblxuZW51bSBXaWRnZXRUeXBlIHtcbiAgQ2hhdFByZXZpZXcgPSBcIkNoYXRQcmV2aWV3XCIsXG4gIFNvY2lhbFByb29mVjIgPSBcIlNvY2lhbFByb29mVjJcIixcbiAgQ2hhdFByZXZpZXdWMiA9IFwiQ2hhdFByZXZpZXdWMlwiLFxuICBDaGF0UHJldmlld0lzTG9hZGluZyA9IFwiQ2hhdFByZXZpZXdJc0xvYWRpbmdcIixcbiAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24gPSBcIkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uXCIsXG4gIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24gPSBcIkNoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25cIixcbiAgU3VnZ2VzdGlvbkJhciA9IFwiU3VnZ2VzdGlvbkJhclwiLFxuICBTdWdnZXN0aW9uQmFyVjIgPSBcIlN1Z2dlc3Rpb25CYXJWMlwiLFxuICBJbWFnZVByb21wdENhcmQgPSBcIkltYWdlUHJvbXB0Q2FyZFwiLFxuICBJbWFnZUJhbm5lciA9IFwiSW1hZ2VCYW5uZXJcIixcbiAgU2luZ2xlSW1hZ2VQcm9tcHQgPSBcIlNpbmdsZUltYWdlUHJvbXB0XCIsXG4gIFNlYXJjaFByb21wdCA9IFwiU2VhcmNoUHJvbXB0XCIsXG4gIFNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQgPSBcIlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnRcIixcbiAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQgPSBcIlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50XCIsXG4gIFNlYXJjaE92ZXJsYXlIb3N0ID0gXCJTZWFyY2hPdmVybGF5SG9zdFwiLFxuICBOb09wID0gXCJOb09wXCIsXG59XG5cbnR5cGUgV2lkZ2V0Q29uZmlnID1cbiAgfCBDaGF0UHJldmlld1dpZGdldENvbmZpZ1xuICB8IFNvY2lhbFByb29mVjJXaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnXG4gIHwgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZ1xuICB8IENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWdcbiAgfCBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWdcbiAgfCBJbWFnZVByb21wdFdpZGdldENvbmZpZ1xuICB8IEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnXG4gIHwgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnXG4gIHwgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZ1xuICB8IE5vT3BXaWRnZXRDb25maWc7XG5cbmludGVyZmFjZSBCYXNlV2lkZ2V0Q29uZmlnPFQgZXh0ZW5kcyBXaWRnZXRUeXBlPiB7XG4gIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gIHR5cGU6IFQ7XG4gIGNvbnRlbnRJZD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlQmFubmVyPiB7XG4gIGltYWdlU3JjOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmc7XG4gIGFzc2lzdGFudE1lc3NhZ2U6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3PiB7XG4gIHZhcmlhbnQ6IFwiZmlsbGVkXCIgfCBcImZsYXRcIiB8IFwib3V0bGluZWRcIjtcbiAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG4gIHNvY2lhbFByb29mQ29uZmlnPzogU29jaWFsUHJvb2ZDb25maWc7XG4gIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZyB7XG4gIHRpdGxlPzogc3RyaW5nOyAvLyBEZWZhdWx0OiAnU2hvcHBpbmcgQXNzaXN0YW50J1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgaW1hZ2VIZWlnaHQ/OiBudW1iZXI7XG59XG5cbnR5cGUgU2luZ2xlSW1hZ2VDb25maWcgPSB7XG4gIGxheW91dDogXCJzaW5nbGVcIjtcbiAgaW1hZ2VJbmRleDogbnVtYmVyO1xufTtcbnR5cGUgTXVsdGlJbWFnZUNvbmZpZyA9IHtcbiAgbGF5b3V0OiBcImdyaWRcIiB8IFwiaG9yaXpvbnRhbFwiO1xuICBpbWFnZU5hbWVzOiBzdHJpbmdbXTtcbn07XG50eXBlIFNvY2lhbFByb29mSW1hZ2VDb25maWcgPSBTaW5nbGVJbWFnZUNvbmZpZyB8IE11bHRpSW1hZ2VDb25maWc7XG5cbnR5cGUgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnID0ge1xuICBidXR0b25TdHJpbmdzOiBzdHJpbmdbXTtcbiAgYWNjZW50QnV0dG9uVmFyaWFudHM/OiB7XG4gICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIH07XG4gIGJ1dHRvblZhcmlhbnRzOiB7XG4gICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIH07XG4gIG51bVJvd3M/OiBOdW1Sb3dzO1xufTtcblxudHlwZSBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZyA9IHtcbiAgbGVhZGluZ1RleHQ6IHN0cmluZztcbiAgYW5pbWF0ZWRTdHJpbmdzOiBzdHJpbmdbXTtcbn07XG5cbnR5cGUgQ2hhdFByZXZpZXdWYXJpYW50ID1cbiAgfCB7IHZhcmlhbnQ6IFwiZmxhdFwiIH1cbiAgfCB7IHZhcmlhbnQ6IFwiZmlsbGVkXCI7IGJhY2tncm91bmRGaWxsQ29sb3I6IHN0cmluZyB9XG4gIHwgeyB2YXJpYW50OiBcIm91dGxpbmVkXCIgfTtcblxuLy8gQmFzZSBpbnRlcmZhY2UgZm9yIGNvbW1vbiBjaGF0IHByZXZpZXcgcHJvcGVydGllc1xuaW50ZXJmYWNlIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIGhlYWRlckNvbmZpZzogQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZztcbiAgc3VnZ2VzdGlvbkJ1dHRvbnNDb25maWc6IENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cblxuLy8gU3BlY2lmaWMgY2hhdCBwcmV2aWV3IHdpZGdldCBjb25maWd1cmF0aW9uc1xuaW50ZXJmYWNlIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uPixcbiAgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdJc0xvYWRpbmc+LFxuICBCYXNlQ2hhdFByZXZpZXdDb25maWcge31cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbj4sXG4gIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIHVzZUxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1YyPixcbiAgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgYW5pbWF0ZWRUZXh0Q29uZmlnOiBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZztcbn1cblxuaW50ZXJmYWNlIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU29jaWFsUHJvb2ZWMj4sXG4gIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIGN1c3RvbWVyUXVlcnk/OiBzdHJpbmc7IC8vIERlZmF1bHQ6ICdhc2tlZCB3aGljaCBwcm9kdWN0cyBhcmUgdGhlIGJlc3QnXG4gIGltYWdlQ29uZmlnOiBTb2NpYWxQcm9vZkltYWdlQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMj4ge1xuICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uO1xuICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcztcbiAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGJ1dHRvblRleHRzOiB7XG4gICAgZGVmYXVsdDogc3RyaW5nW107XG4gICAgcHJvZHVjdFNwZWNpZmljPzogeyBbcHJvZHVjdElkOiBzdHJpbmddOiBzdHJpbmdbXSB9O1xuICB9O1xuICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICB0d29Sb3dzT25Nb2JpbGU/OiBib29sZWFuO1xuICBhbmltYXRpb25TcGVlZD86IFwic3RhbmRhcmRcIiB8IFwic2xvd1wiIHwgXCJub25lXCI7XG4gIGJ1dHRvbkJvcmRlclJhZGl1cz86IFwic21cIiB8IFwibWRcIiB8IFwibGdcIjtcbn1cblxuaW50ZXJmYWNlIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZD4ge1xuICB1cmw6IHN0cmluZztcbiAgbGlnaHRUZXh0PzogYm9vbGVhbjtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU6IHN0cmluZ1tdO1xuICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gIGZhbGxiYWNrQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2luZ2xlSW1hZ2VQcm9tcHQ+IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50PiB7XG4gIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ7XG4gIHNlYXJjaElucHV0VmFyaWFudDogU2VhcmNoSW5wdXRWYXJpYW50O1xuICBzZWFyY2hJY29uVmFyaWFudD86IFNlYXJjaEljb25WYXJpYW50O1xuICBzZWFyY2hJY29uU2l6ZT86IG51bWJlcjtcbiAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzogU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgbGF5b3V0OiBTZWFyY2haZXJvU3RhdGVMYXlvdXQ7XG4gIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIGFuaW1hdGlvblNwZWVkPzogXCJzdGFuZGFyZFwiIHwgXCJzbG93XCIgfCBcIm5vbmVcIjtcbiAgY29tcGFjdExhYmVsPzogc3RyaW5nO1xuICBpbml0aWFsU3VnZ2VzdGlvbnM/OiBzdHJpbmdbXTtcbiAgdXNpbmdQb3J0YWw/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTm9PcFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Ob09wPiB7fVxuaW50ZXJmYWNlIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaE92ZXJsYXlIb3N0PiB7fVxuXG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQ+IHtcbiAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gIHNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50OiBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDtcbiAgcHJvZHVjdEdyaWRWYXJpYW50OiBQcm9kdWN0R3JpZFZhcmlhbnQ7XG4gIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIG5vUmVzdWx0c0ZvdW5kVGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRIZWFkZXJQcm9wcyBleHRlbmRzIFRlc3RQcm9wcyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBsb2dvPzogc3RyaW5nO1xuICBsb2dvSGVpZ2h0PzogbnVtYmVyO1xuICBvcmdTaG9ydE5hbWU6IHN0cmluZztcbiAgdmFyaWFudD86IFNlYXJjaFByb21wdFZhcmlhbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclF1ZXJ5T3B0aW9ucyB7XG4gIGZvb3RlclZhcmlhbnQ/OiBcInN0YW5kYXJkXCI7XG4gIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgcmVwbHlCdXR0b25JY29uPzpcbiAgfCBcIm1hZ25pZnlpbmdHbGFzc1wiXG4gIHwgXCJzZW5kXCJcbiAgfCBcInRoaW5NYWduaWZ5aW5nR2xhc3NcIlxuICB8IFwiYWktc2VhcmNoXCI7XG59XG5cbnR5cGUgU2VhcmNoUHJvbXB0VmFyaWFudCA9IFwicHJpbWFyeVwiO1xuaW50ZXJmYWNlIFNlYXJjaFByb21wdFdpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hQcm9tcHQ+IHtcbiAgdmFyaWFudDogU2VhcmNoUHJvbXB0VmFyaWFudDtcbiAgdGl0bGU6IHN0cmluZztcbiAgaGVhZGVyQ29uZmlnOiBXaWRnZXRIZWFkZXJQcm9wcztcbiAgc3VnZ2VzdGlvbkJ1dHRvbnM6IHtcbiAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlclZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJ1dHRvblRleHRzOiBzdHJpbmdbXTtcbiAgfTtcbiAgZm9vdGVyQ29uZmlnPzogVXNlclF1ZXJ5T3B0aW9ucztcbn1cblxudHlwZSBQYWdlVmFyaWFudEJhc2UgPSB7XG4gIC8vIFVuaXF1ZSBpZGVudGlmaWVyIGZvciBlYWNoIGVudHJ5IHdpdGhpbiB0aGUgcGFnZVZhcmlhbnRzLlxuICAvLyBVc2VmdWwgdG8gZGlmZmVyZW50aWF0ZSB3aGljaCB2YXJpYW50IGlzIGxvYWRlZCB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZXMgb2YgYSBzaW5nbGUgdHlwZS5cbiAgdmFyaWFudElkOiBzdHJpbmc7XG4gIHdpZGdldE1vdW50aW5nOiBXaWRnZXRNb3VudGluZ1tdO1xuICB2YXJpYW50VGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xufTtcblxudHlwZSBQTFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6IFwicGxwXCI7XG4gIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG5cbnR5cGUgUERQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiBcInBkcFwiO1xuICBwYXJlbnRQcm9kdWN0SWRFeHRyYWN0b3I/OiBJZEV4dHJhY3RvcjtcbiAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG5cbnR5cGUgVmlzaXRQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6IFwicGFnZV92aXNpdFwiO1xufTtcblxudHlwZSBPdGhlclBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogXCJvdGhlclwiO1xufTtcblxudHlwZSBIb21lUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiBcImhvbWVwYWdlXCI7XG59O1xuXG50eXBlIFNlYXJjaFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogXCJzZWFyY2hcIjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID1cbiAgfCBQTFBQYWdlVmFyaWFudFxuICB8IFBEUFBhZ2VWYXJpYW50XG4gIHwgVmlzaXRQYWdlVmFyaWFudFxuICB8IE90aGVyUGFnZVZhcmlhbnRcbiAgfCBIb21lUGFnZVZhcmlhbnRcbiAgfCBTZWFyY2hQYWdlVmFyaWFudDtcblxuZXhwb3J0IHR5cGUgT3JnUGFnZUNvbmZpZyA9IHtcbiAgLy8gcGFnZVZhcmlhbnRzIGlzIGEgbGlzdCBvZiBwYWdlIHZhcmlhbnRzIHRoYXQgd2Ugc3VwcG9ydC5cbiAgcGFnZVZhcmlhbnRzOiBQYWdlVmFyaWFudENvbmZpZ1tdO1xuICAvLyB3aWRnZXRDb25maWdzIGlzIGEgbmFtZWQgc2V0IG9mIHdpZGdldCBjb25maWdzXG4gIHdpZGdldENvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIFdpZGdldENvbmZpZz47XG4gIG1vdW50aW5nQ29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0TW91bnRpbmdDb25maWc+O1xufTtcblxuZXhwb3J0IHR5cGUgT3JnQ29uZmlnID0gT3JnVUlDb25maWc7XG5cbmV4cG9ydCB7XG4gIENhdGVnb3J5RXh0cmFjdG9yVHlwZSxcbiAgQ29sb3JOYW1lcyxcbiAgY29sb3JWYXIsXG4gIFBhZ2VWYXJpYW50VGVzdFR5cGUsXG4gIFdpZGdldFR5cGUsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgZGF0YVJlc2lkZW5jeT86IHN0cmluZztcbiAgZW52Pzogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICByZWFjdEFwcE5hbWU/OiBzdHJpbmc7XG4gIGNkblVybD86IHN0cmluZztcbiAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgb3JnTGV2ZWxBcGlLZXk/OiBzdHJpbmc7XG4gIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgaWRlbnRpZnlpbmdQcmVmaXg/OiBzdHJpbmc7XG4gIGZlYXR1cmVPdmVycmlkZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICB2YXJpYW50SW5mb092ZXJyaWRlPzogYW55O1xuICBzaG93PzogYm9vbGVhbjtcbiAgcHVibGljS2V5Pzogc3RyaW5nO1xuICBmZWF0dXJlR2F0ZXM/OiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xufVxuXG5leHBvcnQgdHlwZSB7XG4gIENhdGVnb3J5RXh0cmFjdG9yLFxuICBDaGF0TWVzc2FnZVZhcmlhbnQsXG4gIENoYXRNZXNzYWdlQ29uZmlnLFxuICBDaGF0UHJldmlld0NvbmZpZyxcbiAgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcsXG4gIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcsXG4gIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnLFxuICBDaGF0UHJldmlld0hlYWRlckNvbmZpZyxcbiAgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3VmFyaWFudCxcbiAgQ29sb3JNYXBwaW5nLFxuICBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbixcbiAgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnLFxuICBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sXG4gIElkRXh0cmFjdG9yLFxuICBJbWFnZUJhbm5lcldpZGdldENvbmZpZyxcbiAgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gIEluc2VydGlvblBvaW50LFxuICBNdWx0aUltYWdlQ29uZmlnLFxuICBPcmdVSUNvbmZpZyxcbiAgUGFnZUNhcmRDb25maWcsXG4gIFBhZ2VDYXJkVmFyaWFudCxcbiAgUGFnZUNhcmRIb3ZlclZhcmlhbnQsXG4gIFBhZ2VDYXJkSWNvblZhcmlhbnQsXG4gIFByb2R1Y3RDYXJkQ29uZmlnLFxuICBQcm9kdWN0Q2FyZFZhcmlhbnQsXG4gIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCxcbiAgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQsXG4gIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50LFxuICBQcm9kdWN0TGlua0ljb25WYXJpYW50LFxuICBQcm9kdWN0TGlua1ZhcmlhbnQsXG4gIFByb2R1Y3RSZXZpZXdDb25maWcsXG4gIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQsXG4gIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQsXG4gIFNlYXJjaFByb21wdFZhcmlhbnQsXG4gIFNlYXJjaFByb21wdFdpZGdldENvbmZpZyxcbiAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMsXG4gIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyxcbiAgU29jaWFsUHJvb2ZDb25maWcsXG4gIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyxcbiAgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQsXG4gIFVSTFRlc3QsXG4gIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyxcbiAgVXNlclF1ZXJ5QnV0dG9uSWNvbixcbiAgV2VsY29tZVNlY3Rpb25Db25maWcsXG4gIFdlbGNvbWVTZWN0aW9uVmFyaWFudCxcbiAgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQsXG4gIFdpZGdldENvbmZpZyxcbiAgV3JhcHBpbmdFbGVtZW50LFxuICBTZWFyY2hDYXJkVmFyaWFudCxcbiAgV2lkZ2V0RGlzcGxheVRlc3RzLFxuICBOb09wV2lkZ2V0Q29uZmlnLFxuICBXaWRnZXRNb3VudGluZyxcbiAgU3RhdGljV2lkZ2V0TW91bnRpbmcsXG4gIER5bmFtaWNXaWRnZXRNb3VudGluZyxcbiAgUERQUGFnZVZhcmlhbnQsXG4gIFBMUFBhZ2VWYXJpYW50LFxuICBWaXNpdFBhZ2VWYXJpYW50LFxuICBPdGhlclBhZ2VWYXJpYW50LFxuICBIb21lUGFnZVZhcmlhbnQsXG4gIFNlYXJjaFBhZ2VWYXJpYW50LFxuICBOdW1Sb3dzLFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFLLG9EQUFMO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQWxCRztBQXlCTCxNQUFNLFlBQVksVUFBOEIsdUJBQXVCLE1BQU07Ozs7QUMyYjdFLElBQUssMEVBQUw7QUFDRTtBQUNBOztFQUZHO0FBK0JMLElBQUssc0VBQUw7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7RUFuQkc7QUF3TEwsSUFBSyxvREFBTDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQWhCRyJ9