@angular/common 18.2.4 → 18.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 (3009) hide show
  1. package/esm2022/http/index.mjs +2 -2
  2. package/esm2022/http/public_api.mjs +2 -2
  3. package/esm2022/http/src/backend.mjs +2 -2
  4. package/esm2022/http/src/client.mjs +5 -5
  5. package/esm2022/http/src/context.mjs +2 -2
  6. package/esm2022/http/src/errors.mjs +2 -2
  7. package/esm2022/http/src/fetch.mjs +5 -5
  8. package/esm2022/http/src/headers.mjs +2 -2
  9. package/esm2022/http/src/interceptor.mjs +5 -5
  10. package/esm2022/http/src/jsonp.mjs +8 -8
  11. package/esm2022/http/src/module.mjs +14 -14
  12. package/esm2022/http/src/params.mjs +2 -2
  13. package/esm2022/http/src/private_export.mjs +2 -2
  14. package/esm2022/http/src/provider.mjs +2 -2
  15. package/esm2022/http/src/request.mjs +2 -2
  16. package/esm2022/http/src/response.mjs +2 -2
  17. package/esm2022/http/src/transfer_cache.mjs +2 -2
  18. package/esm2022/http/src/xhr.mjs +5 -5
  19. package/esm2022/http/src/xsrf.mjs +8 -8
  20. package/esm2022/http/testing/index.mjs +2 -2
  21. package/esm2022/http/testing/public_api.mjs +2 -2
  22. package/esm2022/http/testing/src/api.mjs +2 -2
  23. package/esm2022/http/testing/src/backend.mjs +5 -5
  24. package/esm2022/http/testing/src/module.mjs +6 -6
  25. package/esm2022/http/testing/src/provider.mjs +2 -2
  26. package/esm2022/http/testing/src/request.mjs +2 -2
  27. package/esm2022/index.mjs +2 -2
  28. package/esm2022/public_api.mjs +2 -2
  29. package/esm2022/src/common.mjs +2 -2
  30. package/esm2022/src/common_module.mjs +6 -6
  31. package/esm2022/src/cookie.mjs +2 -2
  32. package/esm2022/src/directives/index.mjs +2 -2
  33. package/esm2022/src/directives/ng_class.mjs +5 -5
  34. package/esm2022/src/directives/ng_component_outlet.mjs +5 -5
  35. package/esm2022/src/directives/ng_for_of.mjs +5 -5
  36. package/esm2022/src/directives/ng_if.mjs +5 -5
  37. package/esm2022/src/directives/ng_optimized_image/asserts.mjs +2 -2
  38. package/esm2022/src/directives/ng_optimized_image/error_helper.mjs +2 -2
  39. package/esm2022/src/directives/ng_optimized_image/image_loaders/cloudflare_loader.mjs +2 -2
  40. package/esm2022/src/directives/ng_optimized_image/image_loaders/cloudinary_loader.mjs +2 -2
  41. package/esm2022/src/directives/ng_optimized_image/image_loaders/constants.mjs +2 -2
  42. package/esm2022/src/directives/ng_optimized_image/image_loaders/image_loader.mjs +2 -2
  43. package/esm2022/src/directives/ng_optimized_image/image_loaders/imagekit_loader.mjs +2 -2
  44. package/esm2022/src/directives/ng_optimized_image/image_loaders/imgix_loader.mjs +2 -2
  45. package/esm2022/src/directives/ng_optimized_image/image_loaders/netlify_loader.mjs +2 -2
  46. package/esm2022/src/directives/ng_optimized_image/index.mjs +2 -2
  47. package/esm2022/src/directives/ng_optimized_image/lcp_image_observer.mjs +5 -5
  48. package/esm2022/src/directives/ng_optimized_image/ng_optimized_image.mjs +5 -5
  49. package/esm2022/src/directives/ng_optimized_image/preconnect_link_checker.mjs +5 -5
  50. package/esm2022/src/directives/ng_optimized_image/preload-link-creator.mjs +5 -5
  51. package/esm2022/src/directives/ng_optimized_image/tokens.mjs +2 -2
  52. package/esm2022/src/directives/ng_optimized_image/url.mjs +2 -2
  53. package/esm2022/src/directives/ng_plural.mjs +8 -8
  54. package/esm2022/src/directives/ng_style.mjs +5 -5
  55. package/esm2022/src/directives/ng_switch.mjs +11 -11
  56. package/esm2022/src/directives/ng_template_outlet.mjs +5 -5
  57. package/esm2022/src/dom_adapter.mjs +2 -2
  58. package/esm2022/src/dom_tokens.mjs +2 -2
  59. package/esm2022/src/errors.mjs +2 -2
  60. package/esm2022/src/i18n/currencies.mjs +2 -2
  61. package/esm2022/src/i18n/format_date.mjs +2 -2
  62. package/esm2022/src/i18n/format_number.mjs +2 -2
  63. package/esm2022/src/i18n/locale_data.mjs +2 -2
  64. package/esm2022/src/i18n/locale_data_api.mjs +2 -2
  65. package/esm2022/src/i18n/localization.mjs +8 -8
  66. package/esm2022/src/location/hash_location_strategy.mjs +5 -5
  67. package/esm2022/src/location/index.mjs +2 -2
  68. package/esm2022/src/location/location.mjs +5 -5
  69. package/esm2022/src/location/location_strategy.mjs +8 -8
  70. package/esm2022/src/location/platform_location.mjs +8 -8
  71. package/esm2022/src/location/util.mjs +2 -2
  72. package/esm2022/src/navigation/navigation_types.mjs +2 -2
  73. package/esm2022/src/navigation/platform_navigation.mjs +5 -5
  74. package/esm2022/src/pipes/async_pipe.mjs +5 -5
  75. package/esm2022/src/pipes/case_conversion_pipes.mjs +11 -11
  76. package/esm2022/src/pipes/date_pipe.mjs +5 -5
  77. package/esm2022/src/pipes/date_pipe_config.mjs +2 -2
  78. package/esm2022/src/pipes/i18n_plural_pipe.mjs +5 -5
  79. package/esm2022/src/pipes/i18n_select_pipe.mjs +5 -5
  80. package/esm2022/src/pipes/index.mjs +2 -2
  81. package/esm2022/src/pipes/invalid_pipe_argument_error.mjs +2 -2
  82. package/esm2022/src/pipes/json_pipe.mjs +5 -5
  83. package/esm2022/src/pipes/keyvalue_pipe.mjs +5 -5
  84. package/esm2022/src/pipes/number_pipe.mjs +11 -11
  85. package/esm2022/src/pipes/slice_pipe.mjs +5 -5
  86. package/esm2022/src/platform_id.mjs +2 -2
  87. package/esm2022/src/private_export.mjs +2 -2
  88. package/esm2022/src/version.mjs +3 -3
  89. package/esm2022/src/viewport_scroller.mjs +2 -2
  90. package/esm2022/src/xhr.mjs +2 -2
  91. package/esm2022/testing/index.mjs +2 -2
  92. package/esm2022/testing/public_api.mjs +2 -2
  93. package/esm2022/testing/src/location_mock.mjs +5 -5
  94. package/esm2022/testing/src/mock_location_strategy.mjs +5 -5
  95. package/esm2022/testing/src/mock_platform_location.mjs +8 -8
  96. package/esm2022/testing/src/navigation/fake_navigation.mjs +2 -2
  97. package/esm2022/testing/src/navigation/navigation_types.mjs +2 -2
  98. package/esm2022/testing/src/navigation/provide_fake_platform_navigation.mjs +2 -2
  99. package/esm2022/testing/src/private_export.mjs +2 -2
  100. package/esm2022/testing/src/provide_location_mocks.mjs +2 -2
  101. package/esm2022/testing/src/testing.mjs +2 -2
  102. package/esm2022/upgrade/index.mjs +2 -2
  103. package/esm2022/upgrade/public_api.mjs +2 -2
  104. package/esm2022/upgrade/src/index.mjs +2 -2
  105. package/esm2022/upgrade/src/location_shim.mjs +2 -2
  106. package/esm2022/upgrade/src/location_upgrade_module.mjs +6 -6
  107. package/esm2022/upgrade/src/params.mjs +2 -2
  108. package/esm2022/upgrade/src/utils.mjs +2 -2
  109. package/fesm2022/common.mjs +117 -117
  110. package/fesm2022/common.mjs.map +1 -1
  111. package/fesm2022/http/testing.mjs +8 -8
  112. package/fesm2022/http/testing.mjs.map +1 -1
  113. package/fesm2022/http.mjs +37 -37
  114. package/fesm2022/http.mjs.map +1 -1
  115. package/fesm2022/testing.mjs +16 -16
  116. package/fesm2022/testing.mjs.map +1 -1
  117. package/fesm2022/upgrade.mjs +5 -5
  118. package/fesm2022/upgrade.mjs.map +1 -1
  119. package/http/index.d.ts +1 -1
  120. package/http/testing/index.d.ts +1 -1
  121. package/index.d.ts +1 -1
  122. package/locales/af-NA.d.ts +1 -1
  123. package/locales/af-NA.mjs +2 -2
  124. package/locales/af.d.ts +1 -1
  125. package/locales/af.mjs +2 -2
  126. package/locales/agq.d.ts +1 -1
  127. package/locales/agq.mjs +2 -2
  128. package/locales/ak.d.ts +1 -1
  129. package/locales/ak.mjs +2 -2
  130. package/locales/am.d.ts +1 -1
  131. package/locales/am.mjs +2 -2
  132. package/locales/ar-AE.d.ts +1 -1
  133. package/locales/ar-AE.mjs +2 -2
  134. package/locales/ar-BH.d.ts +1 -1
  135. package/locales/ar-BH.mjs +2 -2
  136. package/locales/ar-DJ.d.ts +1 -1
  137. package/locales/ar-DJ.mjs +2 -2
  138. package/locales/ar-DZ.d.ts +1 -1
  139. package/locales/ar-DZ.mjs +2 -2
  140. package/locales/ar-EG.d.ts +1 -1
  141. package/locales/ar-EG.mjs +2 -2
  142. package/locales/ar-EH.d.ts +1 -1
  143. package/locales/ar-EH.mjs +2 -2
  144. package/locales/ar-ER.d.ts +1 -1
  145. package/locales/ar-ER.mjs +2 -2
  146. package/locales/ar-IL.d.ts +1 -1
  147. package/locales/ar-IL.mjs +2 -2
  148. package/locales/ar-IQ.d.ts +1 -1
  149. package/locales/ar-IQ.mjs +2 -2
  150. package/locales/ar-JO.d.ts +1 -1
  151. package/locales/ar-JO.mjs +2 -2
  152. package/locales/ar-KM.d.ts +1 -1
  153. package/locales/ar-KM.mjs +2 -2
  154. package/locales/ar-KW.d.ts +1 -1
  155. package/locales/ar-KW.mjs +2 -2
  156. package/locales/ar-LB.d.ts +1 -1
  157. package/locales/ar-LB.mjs +2 -2
  158. package/locales/ar-LY.d.ts +1 -1
  159. package/locales/ar-LY.mjs +2 -2
  160. package/locales/ar-MA.d.ts +1 -1
  161. package/locales/ar-MA.mjs +2 -2
  162. package/locales/ar-MR.d.ts +1 -1
  163. package/locales/ar-MR.mjs +2 -2
  164. package/locales/ar-OM.d.ts +1 -1
  165. package/locales/ar-OM.mjs +2 -2
  166. package/locales/ar-PS.d.ts +1 -1
  167. package/locales/ar-PS.mjs +2 -2
  168. package/locales/ar-QA.d.ts +1 -1
  169. package/locales/ar-QA.mjs +2 -2
  170. package/locales/ar-SA.d.ts +1 -1
  171. package/locales/ar-SA.mjs +2 -2
  172. package/locales/ar-SD.d.ts +1 -1
  173. package/locales/ar-SD.mjs +2 -2
  174. package/locales/ar-SO.d.ts +1 -1
  175. package/locales/ar-SO.mjs +2 -2
  176. package/locales/ar-SS.d.ts +1 -1
  177. package/locales/ar-SS.mjs +2 -2
  178. package/locales/ar-SY.d.ts +1 -1
  179. package/locales/ar-SY.mjs +2 -2
  180. package/locales/ar-TD.d.ts +1 -1
  181. package/locales/ar-TD.mjs +2 -2
  182. package/locales/ar-TN.d.ts +1 -1
  183. package/locales/ar-TN.mjs +2 -2
  184. package/locales/ar-YE.d.ts +1 -1
  185. package/locales/ar-YE.mjs +2 -2
  186. package/locales/ar.d.ts +1 -1
  187. package/locales/ar.mjs +2 -2
  188. package/locales/as.d.ts +1 -1
  189. package/locales/as.mjs +2 -2
  190. package/locales/asa.d.ts +1 -1
  191. package/locales/asa.mjs +2 -2
  192. package/locales/ast.d.ts +1 -1
  193. package/locales/ast.mjs +2 -2
  194. package/locales/az-Cyrl.d.ts +1 -1
  195. package/locales/az-Cyrl.mjs +2 -2
  196. package/locales/az-Latn.d.ts +1 -1
  197. package/locales/az-Latn.mjs +2 -2
  198. package/locales/az.d.ts +1 -1
  199. package/locales/az.mjs +2 -2
  200. package/locales/bas.d.ts +1 -1
  201. package/locales/bas.mjs +2 -2
  202. package/locales/be-tarask.d.ts +1 -1
  203. package/locales/be-tarask.mjs +2 -2
  204. package/locales/be.d.ts +1 -1
  205. package/locales/be.mjs +2 -2
  206. package/locales/bem.d.ts +1 -1
  207. package/locales/bem.mjs +2 -2
  208. package/locales/bez.d.ts +1 -1
  209. package/locales/bez.mjs +2 -2
  210. package/locales/bg.d.ts +1 -1
  211. package/locales/bg.mjs +2 -2
  212. package/locales/bm.d.ts +1 -1
  213. package/locales/bm.mjs +2 -2
  214. package/locales/bn-IN.d.ts +1 -1
  215. package/locales/bn-IN.mjs +2 -2
  216. package/locales/bn.d.ts +1 -1
  217. package/locales/bn.mjs +2 -2
  218. package/locales/bo-IN.d.ts +1 -1
  219. package/locales/bo-IN.mjs +2 -2
  220. package/locales/bo.d.ts +1 -1
  221. package/locales/bo.mjs +2 -2
  222. package/locales/br.d.ts +1 -1
  223. package/locales/br.mjs +2 -2
  224. package/locales/brx.d.ts +1 -1
  225. package/locales/brx.mjs +2 -2
  226. package/locales/bs-Cyrl.d.ts +1 -1
  227. package/locales/bs-Cyrl.mjs +2 -2
  228. package/locales/bs-Latn.d.ts +1 -1
  229. package/locales/bs-Latn.mjs +2 -2
  230. package/locales/bs.d.ts +1 -1
  231. package/locales/bs.mjs +2 -2
  232. package/locales/ca-AD.d.ts +1 -1
  233. package/locales/ca-AD.mjs +2 -2
  234. package/locales/ca-ES-valencia.d.ts +1 -1
  235. package/locales/ca-ES-valencia.mjs +2 -2
  236. package/locales/ca-FR.d.ts +1 -1
  237. package/locales/ca-FR.mjs +2 -2
  238. package/locales/ca-IT.d.ts +1 -1
  239. package/locales/ca-IT.mjs +2 -2
  240. package/locales/ca.d.ts +1 -1
  241. package/locales/ca.mjs +2 -2
  242. package/locales/ccp-IN.d.ts +1 -1
  243. package/locales/ccp-IN.mjs +2 -2
  244. package/locales/ccp.d.ts +1 -1
  245. package/locales/ccp.mjs +2 -2
  246. package/locales/ce.d.ts +1 -1
  247. package/locales/ce.mjs +2 -2
  248. package/locales/ceb.d.ts +1 -1
  249. package/locales/ceb.mjs +2 -2
  250. package/locales/cgg.d.ts +1 -1
  251. package/locales/cgg.mjs +2 -2
  252. package/locales/chr.d.ts +1 -1
  253. package/locales/chr.mjs +2 -2
  254. package/locales/ckb-IR.d.ts +1 -1
  255. package/locales/ckb-IR.mjs +2 -2
  256. package/locales/ckb.d.ts +1 -1
  257. package/locales/ckb.mjs +2 -2
  258. package/locales/cs.d.ts +1 -1
  259. package/locales/cs.mjs +2 -2
  260. package/locales/cy.d.ts +1 -1
  261. package/locales/cy.mjs +2 -2
  262. package/locales/da-GL.d.ts +1 -1
  263. package/locales/da-GL.mjs +2 -2
  264. package/locales/da.d.ts +1 -1
  265. package/locales/da.mjs +2 -2
  266. package/locales/dav.d.ts +1 -1
  267. package/locales/dav.mjs +2 -2
  268. package/locales/de-AT.d.ts +1 -1
  269. package/locales/de-AT.mjs +2 -2
  270. package/locales/de-BE.d.ts +1 -1
  271. package/locales/de-BE.mjs +2 -2
  272. package/locales/de-CH.d.ts +1 -1
  273. package/locales/de-CH.mjs +2 -2
  274. package/locales/de-IT.d.ts +1 -1
  275. package/locales/de-IT.mjs +2 -2
  276. package/locales/de-LI.d.ts +1 -1
  277. package/locales/de-LI.mjs +2 -2
  278. package/locales/de-LU.d.ts +1 -1
  279. package/locales/de-LU.mjs +2 -2
  280. package/locales/de.d.ts +1 -1
  281. package/locales/de.mjs +2 -2
  282. package/locales/dje.d.ts +1 -1
  283. package/locales/dje.mjs +2 -2
  284. package/locales/doi.d.ts +1 -1
  285. package/locales/doi.mjs +2 -2
  286. package/locales/dsb.d.ts +1 -1
  287. package/locales/dsb.mjs +2 -2
  288. package/locales/dua.d.ts +1 -1
  289. package/locales/dua.mjs +2 -2
  290. package/locales/dyo.d.ts +1 -1
  291. package/locales/dyo.mjs +2 -2
  292. package/locales/dz.d.ts +1 -1
  293. package/locales/dz.mjs +2 -2
  294. package/locales/ebu.d.ts +1 -1
  295. package/locales/ebu.mjs +2 -2
  296. package/locales/ee-TG.d.ts +1 -1
  297. package/locales/ee-TG.mjs +2 -2
  298. package/locales/ee.d.ts +1 -1
  299. package/locales/ee.mjs +2 -2
  300. package/locales/el-CY.d.ts +1 -1
  301. package/locales/el-CY.mjs +2 -2
  302. package/locales/el.d.ts +1 -1
  303. package/locales/el.mjs +2 -2
  304. package/locales/en-001.d.ts +1 -1
  305. package/locales/en-001.mjs +2 -2
  306. package/locales/en-150.d.ts +1 -1
  307. package/locales/en-150.mjs +2 -2
  308. package/locales/en-AE.d.ts +1 -1
  309. package/locales/en-AE.mjs +2 -2
  310. package/locales/en-AG.d.ts +1 -1
  311. package/locales/en-AG.mjs +2 -2
  312. package/locales/en-AI.d.ts +1 -1
  313. package/locales/en-AI.mjs +2 -2
  314. package/locales/en-AS.d.ts +1 -1
  315. package/locales/en-AS.mjs +2 -2
  316. package/locales/en-AT.d.ts +1 -1
  317. package/locales/en-AT.mjs +2 -2
  318. package/locales/en-AU.d.ts +1 -1
  319. package/locales/en-AU.mjs +2 -2
  320. package/locales/en-BB.d.ts +1 -1
  321. package/locales/en-BB.mjs +2 -2
  322. package/locales/en-BE.d.ts +1 -1
  323. package/locales/en-BE.mjs +2 -2
  324. package/locales/en-BI.d.ts +1 -1
  325. package/locales/en-BI.mjs +2 -2
  326. package/locales/en-BM.d.ts +1 -1
  327. package/locales/en-BM.mjs +2 -2
  328. package/locales/en-BS.d.ts +1 -1
  329. package/locales/en-BS.mjs +2 -2
  330. package/locales/en-BW.d.ts +1 -1
  331. package/locales/en-BW.mjs +2 -2
  332. package/locales/en-BZ.d.ts +1 -1
  333. package/locales/en-BZ.mjs +2 -2
  334. package/locales/en-CA.d.ts +1 -1
  335. package/locales/en-CA.mjs +2 -2
  336. package/locales/en-CC.d.ts +1 -1
  337. package/locales/en-CC.mjs +2 -2
  338. package/locales/en-CH.d.ts +1 -1
  339. package/locales/en-CH.mjs +2 -2
  340. package/locales/en-CK.d.ts +1 -1
  341. package/locales/en-CK.mjs +2 -2
  342. package/locales/en-CM.d.ts +1 -1
  343. package/locales/en-CM.mjs +2 -2
  344. package/locales/en-CX.d.ts +1 -1
  345. package/locales/en-CX.mjs +2 -2
  346. package/locales/en-CY.d.ts +1 -1
  347. package/locales/en-CY.mjs +2 -2
  348. package/locales/en-DE.d.ts +1 -1
  349. package/locales/en-DE.mjs +2 -2
  350. package/locales/en-DG.d.ts +1 -1
  351. package/locales/en-DG.mjs +2 -2
  352. package/locales/en-DK.d.ts +1 -1
  353. package/locales/en-DK.mjs +2 -2
  354. package/locales/en-DM.d.ts +1 -1
  355. package/locales/en-DM.mjs +2 -2
  356. package/locales/en-ER.d.ts +1 -1
  357. package/locales/en-ER.mjs +2 -2
  358. package/locales/en-FI.d.ts +1 -1
  359. package/locales/en-FI.mjs +2 -2
  360. package/locales/en-FJ.d.ts +1 -1
  361. package/locales/en-FJ.mjs +2 -2
  362. package/locales/en-FK.d.ts +1 -1
  363. package/locales/en-FK.mjs +2 -2
  364. package/locales/en-FM.d.ts +1 -1
  365. package/locales/en-FM.mjs +2 -2
  366. package/locales/en-GB.d.ts +1 -1
  367. package/locales/en-GB.mjs +2 -2
  368. package/locales/en-GD.d.ts +1 -1
  369. package/locales/en-GD.mjs +2 -2
  370. package/locales/en-GG.d.ts +1 -1
  371. package/locales/en-GG.mjs +2 -2
  372. package/locales/en-GH.d.ts +1 -1
  373. package/locales/en-GH.mjs +2 -2
  374. package/locales/en-GI.d.ts +1 -1
  375. package/locales/en-GI.mjs +2 -2
  376. package/locales/en-GM.d.ts +1 -1
  377. package/locales/en-GM.mjs +2 -2
  378. package/locales/en-GU.d.ts +1 -1
  379. package/locales/en-GU.mjs +2 -2
  380. package/locales/en-GY.d.ts +1 -1
  381. package/locales/en-GY.mjs +2 -2
  382. package/locales/en-HK.d.ts +1 -1
  383. package/locales/en-HK.mjs +2 -2
  384. package/locales/en-IE.d.ts +1 -1
  385. package/locales/en-IE.mjs +2 -2
  386. package/locales/en-IL.d.ts +1 -1
  387. package/locales/en-IL.mjs +2 -2
  388. package/locales/en-IM.d.ts +1 -1
  389. package/locales/en-IM.mjs +2 -2
  390. package/locales/en-IN.d.ts +1 -1
  391. package/locales/en-IN.mjs +2 -2
  392. package/locales/en-IO.d.ts +1 -1
  393. package/locales/en-IO.mjs +2 -2
  394. package/locales/en-JE.d.ts +1 -1
  395. package/locales/en-JE.mjs +2 -2
  396. package/locales/en-JM.d.ts +1 -1
  397. package/locales/en-JM.mjs +2 -2
  398. package/locales/en-KE.d.ts +1 -1
  399. package/locales/en-KE.mjs +2 -2
  400. package/locales/en-KI.d.ts +1 -1
  401. package/locales/en-KI.mjs +2 -2
  402. package/locales/en-KN.d.ts +1 -1
  403. package/locales/en-KN.mjs +2 -2
  404. package/locales/en-KY.d.ts +1 -1
  405. package/locales/en-KY.mjs +2 -2
  406. package/locales/en-LC.d.ts +1 -1
  407. package/locales/en-LC.mjs +2 -2
  408. package/locales/en-LR.d.ts +1 -1
  409. package/locales/en-LR.mjs +2 -2
  410. package/locales/en-LS.d.ts +1 -1
  411. package/locales/en-LS.mjs +2 -2
  412. package/locales/en-MG.d.ts +1 -1
  413. package/locales/en-MG.mjs +2 -2
  414. package/locales/en-MH.d.ts +1 -1
  415. package/locales/en-MH.mjs +2 -2
  416. package/locales/en-MO.d.ts +1 -1
  417. package/locales/en-MO.mjs +2 -2
  418. package/locales/en-MP.d.ts +1 -1
  419. package/locales/en-MP.mjs +2 -2
  420. package/locales/en-MS.d.ts +1 -1
  421. package/locales/en-MS.mjs +2 -2
  422. package/locales/en-MT.d.ts +1 -1
  423. package/locales/en-MT.mjs +2 -2
  424. package/locales/en-MU.d.ts +1 -1
  425. package/locales/en-MU.mjs +2 -2
  426. package/locales/en-MV.d.ts +1 -1
  427. package/locales/en-MV.mjs +2 -2
  428. package/locales/en-MW.d.ts +1 -1
  429. package/locales/en-MW.mjs +2 -2
  430. package/locales/en-MY.d.ts +1 -1
  431. package/locales/en-MY.mjs +2 -2
  432. package/locales/en-NA.d.ts +1 -1
  433. package/locales/en-NA.mjs +2 -2
  434. package/locales/en-NF.d.ts +1 -1
  435. package/locales/en-NF.mjs +2 -2
  436. package/locales/en-NG.d.ts +1 -1
  437. package/locales/en-NG.mjs +2 -2
  438. package/locales/en-NL.d.ts +1 -1
  439. package/locales/en-NL.mjs +2 -2
  440. package/locales/en-NR.d.ts +1 -1
  441. package/locales/en-NR.mjs +2 -2
  442. package/locales/en-NU.d.ts +1 -1
  443. package/locales/en-NU.mjs +2 -2
  444. package/locales/en-NZ.d.ts +1 -1
  445. package/locales/en-NZ.mjs +2 -2
  446. package/locales/en-PG.d.ts +1 -1
  447. package/locales/en-PG.mjs +2 -2
  448. package/locales/en-PH.d.ts +1 -1
  449. package/locales/en-PH.mjs +2 -2
  450. package/locales/en-PK.d.ts +1 -1
  451. package/locales/en-PK.mjs +2 -2
  452. package/locales/en-PN.d.ts +1 -1
  453. package/locales/en-PN.mjs +2 -2
  454. package/locales/en-PR.d.ts +1 -1
  455. package/locales/en-PR.mjs +2 -2
  456. package/locales/en-PW.d.ts +1 -1
  457. package/locales/en-PW.mjs +2 -2
  458. package/locales/en-RW.d.ts +1 -1
  459. package/locales/en-RW.mjs +2 -2
  460. package/locales/en-SB.d.ts +1 -1
  461. package/locales/en-SB.mjs +2 -2
  462. package/locales/en-SC.d.ts +1 -1
  463. package/locales/en-SC.mjs +2 -2
  464. package/locales/en-SD.d.ts +1 -1
  465. package/locales/en-SD.mjs +2 -2
  466. package/locales/en-SE.d.ts +1 -1
  467. package/locales/en-SE.mjs +2 -2
  468. package/locales/en-SG.d.ts +1 -1
  469. package/locales/en-SG.mjs +2 -2
  470. package/locales/en-SH.d.ts +1 -1
  471. package/locales/en-SH.mjs +2 -2
  472. package/locales/en-SI.d.ts +1 -1
  473. package/locales/en-SI.mjs +2 -2
  474. package/locales/en-SL.d.ts +1 -1
  475. package/locales/en-SL.mjs +2 -2
  476. package/locales/en-SS.d.ts +1 -1
  477. package/locales/en-SS.mjs +2 -2
  478. package/locales/en-SX.d.ts +1 -1
  479. package/locales/en-SX.mjs +2 -2
  480. package/locales/en-SZ.d.ts +1 -1
  481. package/locales/en-SZ.mjs +2 -2
  482. package/locales/en-TC.d.ts +1 -1
  483. package/locales/en-TC.mjs +2 -2
  484. package/locales/en-TK.d.ts +1 -1
  485. package/locales/en-TK.mjs +2 -2
  486. package/locales/en-TO.d.ts +1 -1
  487. package/locales/en-TO.mjs +2 -2
  488. package/locales/en-TT.d.ts +1 -1
  489. package/locales/en-TT.mjs +2 -2
  490. package/locales/en-TV.d.ts +1 -1
  491. package/locales/en-TV.mjs +2 -2
  492. package/locales/en-TZ.d.ts +1 -1
  493. package/locales/en-TZ.mjs +2 -2
  494. package/locales/en-UG.d.ts +1 -1
  495. package/locales/en-UG.mjs +2 -2
  496. package/locales/en-UM.d.ts +1 -1
  497. package/locales/en-UM.mjs +2 -2
  498. package/locales/en-VC.d.ts +1 -1
  499. package/locales/en-VC.mjs +2 -2
  500. package/locales/en-VG.d.ts +1 -1
  501. package/locales/en-VG.mjs +2 -2
  502. package/locales/en-VI.d.ts +1 -1
  503. package/locales/en-VI.mjs +2 -2
  504. package/locales/en-VU.d.ts +1 -1
  505. package/locales/en-VU.mjs +2 -2
  506. package/locales/en-WS.d.ts +1 -1
  507. package/locales/en-WS.mjs +2 -2
  508. package/locales/en-ZA.d.ts +1 -1
  509. package/locales/en-ZA.mjs +2 -2
  510. package/locales/en-ZM.d.ts +1 -1
  511. package/locales/en-ZM.mjs +2 -2
  512. package/locales/en-ZW.d.ts +1 -1
  513. package/locales/en-ZW.mjs +2 -2
  514. package/locales/en.d.ts +1 -1
  515. package/locales/en.mjs +2 -2
  516. package/locales/eo.d.ts +1 -1
  517. package/locales/eo.mjs +2 -2
  518. package/locales/es-419.d.ts +1 -1
  519. package/locales/es-419.mjs +2 -2
  520. package/locales/es-AR.d.ts +1 -1
  521. package/locales/es-AR.mjs +2 -2
  522. package/locales/es-BO.d.ts +1 -1
  523. package/locales/es-BO.mjs +2 -2
  524. package/locales/es-BR.d.ts +1 -1
  525. package/locales/es-BR.mjs +2 -2
  526. package/locales/es-BZ.d.ts +1 -1
  527. package/locales/es-BZ.mjs +2 -2
  528. package/locales/es-CL.d.ts +1 -1
  529. package/locales/es-CL.mjs +2 -2
  530. package/locales/es-CO.d.ts +1 -1
  531. package/locales/es-CO.mjs +2 -2
  532. package/locales/es-CR.d.ts +1 -1
  533. package/locales/es-CR.mjs +2 -2
  534. package/locales/es-CU.d.ts +1 -1
  535. package/locales/es-CU.mjs +2 -2
  536. package/locales/es-DO.d.ts +1 -1
  537. package/locales/es-DO.mjs +2 -2
  538. package/locales/es-EA.d.ts +1 -1
  539. package/locales/es-EA.mjs +2 -2
  540. package/locales/es-EC.d.ts +1 -1
  541. package/locales/es-EC.mjs +2 -2
  542. package/locales/es-GQ.d.ts +1 -1
  543. package/locales/es-GQ.mjs +2 -2
  544. package/locales/es-GT.d.ts +1 -1
  545. package/locales/es-GT.mjs +2 -2
  546. package/locales/es-HN.d.ts +1 -1
  547. package/locales/es-HN.mjs +2 -2
  548. package/locales/es-IC.d.ts +1 -1
  549. package/locales/es-IC.mjs +2 -2
  550. package/locales/es-MX.d.ts +1 -1
  551. package/locales/es-MX.mjs +2 -2
  552. package/locales/es-NI.d.ts +1 -1
  553. package/locales/es-NI.mjs +2 -2
  554. package/locales/es-PA.d.ts +1 -1
  555. package/locales/es-PA.mjs +2 -2
  556. package/locales/es-PE.d.ts +1 -1
  557. package/locales/es-PE.mjs +2 -2
  558. package/locales/es-PH.d.ts +1 -1
  559. package/locales/es-PH.mjs +2 -2
  560. package/locales/es-PR.d.ts +1 -1
  561. package/locales/es-PR.mjs +2 -2
  562. package/locales/es-PY.d.ts +1 -1
  563. package/locales/es-PY.mjs +2 -2
  564. package/locales/es-SV.d.ts +1 -1
  565. package/locales/es-SV.mjs +2 -2
  566. package/locales/es-US.d.ts +1 -1
  567. package/locales/es-US.mjs +2 -2
  568. package/locales/es-UY.d.ts +1 -1
  569. package/locales/es-UY.mjs +2 -2
  570. package/locales/es-VE.d.ts +1 -1
  571. package/locales/es-VE.mjs +2 -2
  572. package/locales/es.d.ts +1 -1
  573. package/locales/es.mjs +2 -2
  574. package/locales/et.d.ts +1 -1
  575. package/locales/et.mjs +2 -2
  576. package/locales/eu.d.ts +1 -1
  577. package/locales/eu.mjs +2 -2
  578. package/locales/ewo.d.ts +1 -1
  579. package/locales/ewo.mjs +2 -2
  580. package/locales/extra/af-NA.d.ts +1 -1
  581. package/locales/extra/af-NA.mjs +2 -2
  582. package/locales/extra/af.d.ts +1 -1
  583. package/locales/extra/af.mjs +2 -2
  584. package/locales/extra/agq.d.ts +1 -1
  585. package/locales/extra/agq.mjs +2 -2
  586. package/locales/extra/ak.d.ts +1 -1
  587. package/locales/extra/ak.mjs +2 -2
  588. package/locales/extra/am.d.ts +1 -1
  589. package/locales/extra/am.mjs +2 -2
  590. package/locales/extra/ar-AE.d.ts +1 -1
  591. package/locales/extra/ar-AE.mjs +2 -2
  592. package/locales/extra/ar-BH.d.ts +1 -1
  593. package/locales/extra/ar-BH.mjs +2 -2
  594. package/locales/extra/ar-DJ.d.ts +1 -1
  595. package/locales/extra/ar-DJ.mjs +2 -2
  596. package/locales/extra/ar-DZ.d.ts +1 -1
  597. package/locales/extra/ar-DZ.mjs +2 -2
  598. package/locales/extra/ar-EG.d.ts +1 -1
  599. package/locales/extra/ar-EG.mjs +2 -2
  600. package/locales/extra/ar-EH.d.ts +1 -1
  601. package/locales/extra/ar-EH.mjs +2 -2
  602. package/locales/extra/ar-ER.d.ts +1 -1
  603. package/locales/extra/ar-ER.mjs +2 -2
  604. package/locales/extra/ar-IL.d.ts +1 -1
  605. package/locales/extra/ar-IL.mjs +2 -2
  606. package/locales/extra/ar-IQ.d.ts +1 -1
  607. package/locales/extra/ar-IQ.mjs +2 -2
  608. package/locales/extra/ar-JO.d.ts +1 -1
  609. package/locales/extra/ar-JO.mjs +2 -2
  610. package/locales/extra/ar-KM.d.ts +1 -1
  611. package/locales/extra/ar-KM.mjs +2 -2
  612. package/locales/extra/ar-KW.d.ts +1 -1
  613. package/locales/extra/ar-KW.mjs +2 -2
  614. package/locales/extra/ar-LB.d.ts +1 -1
  615. package/locales/extra/ar-LB.mjs +2 -2
  616. package/locales/extra/ar-LY.d.ts +1 -1
  617. package/locales/extra/ar-LY.mjs +2 -2
  618. package/locales/extra/ar-MA.d.ts +1 -1
  619. package/locales/extra/ar-MA.mjs +2 -2
  620. package/locales/extra/ar-MR.d.ts +1 -1
  621. package/locales/extra/ar-MR.mjs +2 -2
  622. package/locales/extra/ar-OM.d.ts +1 -1
  623. package/locales/extra/ar-OM.mjs +2 -2
  624. package/locales/extra/ar-PS.d.ts +1 -1
  625. package/locales/extra/ar-PS.mjs +2 -2
  626. package/locales/extra/ar-QA.d.ts +1 -1
  627. package/locales/extra/ar-QA.mjs +2 -2
  628. package/locales/extra/ar-SA.d.ts +1 -1
  629. package/locales/extra/ar-SA.mjs +2 -2
  630. package/locales/extra/ar-SD.d.ts +1 -1
  631. package/locales/extra/ar-SD.mjs +2 -2
  632. package/locales/extra/ar-SO.d.ts +1 -1
  633. package/locales/extra/ar-SO.mjs +2 -2
  634. package/locales/extra/ar-SS.d.ts +1 -1
  635. package/locales/extra/ar-SS.mjs +2 -2
  636. package/locales/extra/ar-SY.d.ts +1 -1
  637. package/locales/extra/ar-SY.mjs +2 -2
  638. package/locales/extra/ar-TD.d.ts +1 -1
  639. package/locales/extra/ar-TD.mjs +2 -2
  640. package/locales/extra/ar-TN.d.ts +1 -1
  641. package/locales/extra/ar-TN.mjs +2 -2
  642. package/locales/extra/ar-YE.d.ts +1 -1
  643. package/locales/extra/ar-YE.mjs +2 -2
  644. package/locales/extra/ar.d.ts +1 -1
  645. package/locales/extra/ar.mjs +2 -2
  646. package/locales/extra/as.d.ts +1 -1
  647. package/locales/extra/as.mjs +2 -2
  648. package/locales/extra/asa.d.ts +1 -1
  649. package/locales/extra/asa.mjs +2 -2
  650. package/locales/extra/ast.d.ts +1 -1
  651. package/locales/extra/ast.mjs +2 -2
  652. package/locales/extra/az-Cyrl.d.ts +1 -1
  653. package/locales/extra/az-Cyrl.mjs +2 -2
  654. package/locales/extra/az-Latn.d.ts +1 -1
  655. package/locales/extra/az-Latn.mjs +2 -2
  656. package/locales/extra/az.d.ts +1 -1
  657. package/locales/extra/az.mjs +2 -2
  658. package/locales/extra/bas.d.ts +1 -1
  659. package/locales/extra/bas.mjs +2 -2
  660. package/locales/extra/be-tarask.d.ts +1 -1
  661. package/locales/extra/be-tarask.mjs +2 -2
  662. package/locales/extra/be.d.ts +1 -1
  663. package/locales/extra/be.mjs +2 -2
  664. package/locales/extra/bem.d.ts +1 -1
  665. package/locales/extra/bem.mjs +2 -2
  666. package/locales/extra/bez.d.ts +1 -1
  667. package/locales/extra/bez.mjs +2 -2
  668. package/locales/extra/bg.d.ts +1 -1
  669. package/locales/extra/bg.mjs +2 -2
  670. package/locales/extra/bm.d.ts +1 -1
  671. package/locales/extra/bm.mjs +2 -2
  672. package/locales/extra/bn-IN.d.ts +1 -1
  673. package/locales/extra/bn-IN.mjs +2 -2
  674. package/locales/extra/bn.d.ts +1 -1
  675. package/locales/extra/bn.mjs +2 -2
  676. package/locales/extra/bo-IN.d.ts +1 -1
  677. package/locales/extra/bo-IN.mjs +2 -2
  678. package/locales/extra/bo.d.ts +1 -1
  679. package/locales/extra/bo.mjs +2 -2
  680. package/locales/extra/br.d.ts +1 -1
  681. package/locales/extra/br.mjs +2 -2
  682. package/locales/extra/brx.d.ts +1 -1
  683. package/locales/extra/brx.mjs +2 -2
  684. package/locales/extra/bs-Cyrl.d.ts +1 -1
  685. package/locales/extra/bs-Cyrl.mjs +2 -2
  686. package/locales/extra/bs-Latn.d.ts +1 -1
  687. package/locales/extra/bs-Latn.mjs +2 -2
  688. package/locales/extra/bs.d.ts +1 -1
  689. package/locales/extra/bs.mjs +2 -2
  690. package/locales/extra/ca-AD.d.ts +1 -1
  691. package/locales/extra/ca-AD.mjs +2 -2
  692. package/locales/extra/ca-ES-valencia.d.ts +1 -1
  693. package/locales/extra/ca-ES-valencia.mjs +2 -2
  694. package/locales/extra/ca-FR.d.ts +1 -1
  695. package/locales/extra/ca-FR.mjs +2 -2
  696. package/locales/extra/ca-IT.d.ts +1 -1
  697. package/locales/extra/ca-IT.mjs +2 -2
  698. package/locales/extra/ca.d.ts +1 -1
  699. package/locales/extra/ca.mjs +2 -2
  700. package/locales/extra/ccp-IN.d.ts +1 -1
  701. package/locales/extra/ccp-IN.mjs +2 -2
  702. package/locales/extra/ccp.d.ts +1 -1
  703. package/locales/extra/ccp.mjs +2 -2
  704. package/locales/extra/ce.d.ts +1 -1
  705. package/locales/extra/ce.mjs +2 -2
  706. package/locales/extra/ceb.d.ts +1 -1
  707. package/locales/extra/ceb.mjs +2 -2
  708. package/locales/extra/cgg.d.ts +1 -1
  709. package/locales/extra/cgg.mjs +2 -2
  710. package/locales/extra/chr.d.ts +1 -1
  711. package/locales/extra/chr.mjs +2 -2
  712. package/locales/extra/ckb-IR.d.ts +1 -1
  713. package/locales/extra/ckb-IR.mjs +2 -2
  714. package/locales/extra/ckb.d.ts +1 -1
  715. package/locales/extra/ckb.mjs +2 -2
  716. package/locales/extra/cs.d.ts +1 -1
  717. package/locales/extra/cs.mjs +2 -2
  718. package/locales/extra/cy.d.ts +1 -1
  719. package/locales/extra/cy.mjs +2 -2
  720. package/locales/extra/da-GL.d.ts +1 -1
  721. package/locales/extra/da-GL.mjs +2 -2
  722. package/locales/extra/da.d.ts +1 -1
  723. package/locales/extra/da.mjs +2 -2
  724. package/locales/extra/dav.d.ts +1 -1
  725. package/locales/extra/dav.mjs +2 -2
  726. package/locales/extra/de-AT.d.ts +1 -1
  727. package/locales/extra/de-AT.mjs +2 -2
  728. package/locales/extra/de-BE.d.ts +1 -1
  729. package/locales/extra/de-BE.mjs +2 -2
  730. package/locales/extra/de-CH.d.ts +1 -1
  731. package/locales/extra/de-CH.mjs +2 -2
  732. package/locales/extra/de-IT.d.ts +1 -1
  733. package/locales/extra/de-IT.mjs +2 -2
  734. package/locales/extra/de-LI.d.ts +1 -1
  735. package/locales/extra/de-LI.mjs +2 -2
  736. package/locales/extra/de-LU.d.ts +1 -1
  737. package/locales/extra/de-LU.mjs +2 -2
  738. package/locales/extra/de.d.ts +1 -1
  739. package/locales/extra/de.mjs +2 -2
  740. package/locales/extra/dje.d.ts +1 -1
  741. package/locales/extra/dje.mjs +2 -2
  742. package/locales/extra/doi.d.ts +1 -1
  743. package/locales/extra/doi.mjs +2 -2
  744. package/locales/extra/dsb.d.ts +1 -1
  745. package/locales/extra/dsb.mjs +2 -2
  746. package/locales/extra/dua.d.ts +1 -1
  747. package/locales/extra/dua.mjs +2 -2
  748. package/locales/extra/dyo.d.ts +1 -1
  749. package/locales/extra/dyo.mjs +2 -2
  750. package/locales/extra/dz.d.ts +1 -1
  751. package/locales/extra/dz.mjs +2 -2
  752. package/locales/extra/ebu.d.ts +1 -1
  753. package/locales/extra/ebu.mjs +2 -2
  754. package/locales/extra/ee-TG.d.ts +1 -1
  755. package/locales/extra/ee-TG.mjs +2 -2
  756. package/locales/extra/ee.d.ts +1 -1
  757. package/locales/extra/ee.mjs +2 -2
  758. package/locales/extra/el-CY.d.ts +1 -1
  759. package/locales/extra/el-CY.mjs +2 -2
  760. package/locales/extra/el.d.ts +1 -1
  761. package/locales/extra/el.mjs +2 -2
  762. package/locales/extra/en-001.d.ts +1 -1
  763. package/locales/extra/en-001.mjs +2 -2
  764. package/locales/extra/en-150.d.ts +1 -1
  765. package/locales/extra/en-150.mjs +2 -2
  766. package/locales/extra/en-AE.d.ts +1 -1
  767. package/locales/extra/en-AE.mjs +2 -2
  768. package/locales/extra/en-AG.d.ts +1 -1
  769. package/locales/extra/en-AG.mjs +2 -2
  770. package/locales/extra/en-AI.d.ts +1 -1
  771. package/locales/extra/en-AI.mjs +2 -2
  772. package/locales/extra/en-AS.d.ts +1 -1
  773. package/locales/extra/en-AS.mjs +2 -2
  774. package/locales/extra/en-AT.d.ts +1 -1
  775. package/locales/extra/en-AT.mjs +2 -2
  776. package/locales/extra/en-AU.d.ts +1 -1
  777. package/locales/extra/en-AU.mjs +2 -2
  778. package/locales/extra/en-BB.d.ts +1 -1
  779. package/locales/extra/en-BB.mjs +2 -2
  780. package/locales/extra/en-BE.d.ts +1 -1
  781. package/locales/extra/en-BE.mjs +2 -2
  782. package/locales/extra/en-BI.d.ts +1 -1
  783. package/locales/extra/en-BI.mjs +2 -2
  784. package/locales/extra/en-BM.d.ts +1 -1
  785. package/locales/extra/en-BM.mjs +2 -2
  786. package/locales/extra/en-BS.d.ts +1 -1
  787. package/locales/extra/en-BS.mjs +2 -2
  788. package/locales/extra/en-BW.d.ts +1 -1
  789. package/locales/extra/en-BW.mjs +2 -2
  790. package/locales/extra/en-BZ.d.ts +1 -1
  791. package/locales/extra/en-BZ.mjs +2 -2
  792. package/locales/extra/en-CA.d.ts +1 -1
  793. package/locales/extra/en-CA.mjs +2 -2
  794. package/locales/extra/en-CC.d.ts +1 -1
  795. package/locales/extra/en-CC.mjs +2 -2
  796. package/locales/extra/en-CH.d.ts +1 -1
  797. package/locales/extra/en-CH.mjs +2 -2
  798. package/locales/extra/en-CK.d.ts +1 -1
  799. package/locales/extra/en-CK.mjs +2 -2
  800. package/locales/extra/en-CM.d.ts +1 -1
  801. package/locales/extra/en-CM.mjs +2 -2
  802. package/locales/extra/en-CX.d.ts +1 -1
  803. package/locales/extra/en-CX.mjs +2 -2
  804. package/locales/extra/en-CY.d.ts +1 -1
  805. package/locales/extra/en-CY.mjs +2 -2
  806. package/locales/extra/en-DE.d.ts +1 -1
  807. package/locales/extra/en-DE.mjs +2 -2
  808. package/locales/extra/en-DG.d.ts +1 -1
  809. package/locales/extra/en-DG.mjs +2 -2
  810. package/locales/extra/en-DK.d.ts +1 -1
  811. package/locales/extra/en-DK.mjs +2 -2
  812. package/locales/extra/en-DM.d.ts +1 -1
  813. package/locales/extra/en-DM.mjs +2 -2
  814. package/locales/extra/en-ER.d.ts +1 -1
  815. package/locales/extra/en-ER.mjs +2 -2
  816. package/locales/extra/en-FI.d.ts +1 -1
  817. package/locales/extra/en-FI.mjs +2 -2
  818. package/locales/extra/en-FJ.d.ts +1 -1
  819. package/locales/extra/en-FJ.mjs +2 -2
  820. package/locales/extra/en-FK.d.ts +1 -1
  821. package/locales/extra/en-FK.mjs +2 -2
  822. package/locales/extra/en-FM.d.ts +1 -1
  823. package/locales/extra/en-FM.mjs +2 -2
  824. package/locales/extra/en-GB.d.ts +1 -1
  825. package/locales/extra/en-GB.mjs +2 -2
  826. package/locales/extra/en-GD.d.ts +1 -1
  827. package/locales/extra/en-GD.mjs +2 -2
  828. package/locales/extra/en-GG.d.ts +1 -1
  829. package/locales/extra/en-GG.mjs +2 -2
  830. package/locales/extra/en-GH.d.ts +1 -1
  831. package/locales/extra/en-GH.mjs +2 -2
  832. package/locales/extra/en-GI.d.ts +1 -1
  833. package/locales/extra/en-GI.mjs +2 -2
  834. package/locales/extra/en-GM.d.ts +1 -1
  835. package/locales/extra/en-GM.mjs +2 -2
  836. package/locales/extra/en-GU.d.ts +1 -1
  837. package/locales/extra/en-GU.mjs +2 -2
  838. package/locales/extra/en-GY.d.ts +1 -1
  839. package/locales/extra/en-GY.mjs +2 -2
  840. package/locales/extra/en-HK.d.ts +1 -1
  841. package/locales/extra/en-HK.mjs +2 -2
  842. package/locales/extra/en-IE.d.ts +1 -1
  843. package/locales/extra/en-IE.mjs +2 -2
  844. package/locales/extra/en-IL.d.ts +1 -1
  845. package/locales/extra/en-IL.mjs +2 -2
  846. package/locales/extra/en-IM.d.ts +1 -1
  847. package/locales/extra/en-IM.mjs +2 -2
  848. package/locales/extra/en-IN.d.ts +1 -1
  849. package/locales/extra/en-IN.mjs +2 -2
  850. package/locales/extra/en-IO.d.ts +1 -1
  851. package/locales/extra/en-IO.mjs +2 -2
  852. package/locales/extra/en-JE.d.ts +1 -1
  853. package/locales/extra/en-JE.mjs +2 -2
  854. package/locales/extra/en-JM.d.ts +1 -1
  855. package/locales/extra/en-JM.mjs +2 -2
  856. package/locales/extra/en-KE.d.ts +1 -1
  857. package/locales/extra/en-KE.mjs +2 -2
  858. package/locales/extra/en-KI.d.ts +1 -1
  859. package/locales/extra/en-KI.mjs +2 -2
  860. package/locales/extra/en-KN.d.ts +1 -1
  861. package/locales/extra/en-KN.mjs +2 -2
  862. package/locales/extra/en-KY.d.ts +1 -1
  863. package/locales/extra/en-KY.mjs +2 -2
  864. package/locales/extra/en-LC.d.ts +1 -1
  865. package/locales/extra/en-LC.mjs +2 -2
  866. package/locales/extra/en-LR.d.ts +1 -1
  867. package/locales/extra/en-LR.mjs +2 -2
  868. package/locales/extra/en-LS.d.ts +1 -1
  869. package/locales/extra/en-LS.mjs +2 -2
  870. package/locales/extra/en-MG.d.ts +1 -1
  871. package/locales/extra/en-MG.mjs +2 -2
  872. package/locales/extra/en-MH.d.ts +1 -1
  873. package/locales/extra/en-MH.mjs +2 -2
  874. package/locales/extra/en-MO.d.ts +1 -1
  875. package/locales/extra/en-MO.mjs +2 -2
  876. package/locales/extra/en-MP.d.ts +1 -1
  877. package/locales/extra/en-MP.mjs +2 -2
  878. package/locales/extra/en-MS.d.ts +1 -1
  879. package/locales/extra/en-MS.mjs +2 -2
  880. package/locales/extra/en-MT.d.ts +1 -1
  881. package/locales/extra/en-MT.mjs +2 -2
  882. package/locales/extra/en-MU.d.ts +1 -1
  883. package/locales/extra/en-MU.mjs +2 -2
  884. package/locales/extra/en-MV.d.ts +1 -1
  885. package/locales/extra/en-MV.mjs +2 -2
  886. package/locales/extra/en-MW.d.ts +1 -1
  887. package/locales/extra/en-MW.mjs +2 -2
  888. package/locales/extra/en-MY.d.ts +1 -1
  889. package/locales/extra/en-MY.mjs +2 -2
  890. package/locales/extra/en-NA.d.ts +1 -1
  891. package/locales/extra/en-NA.mjs +2 -2
  892. package/locales/extra/en-NF.d.ts +1 -1
  893. package/locales/extra/en-NF.mjs +2 -2
  894. package/locales/extra/en-NG.d.ts +1 -1
  895. package/locales/extra/en-NG.mjs +2 -2
  896. package/locales/extra/en-NL.d.ts +1 -1
  897. package/locales/extra/en-NL.mjs +2 -2
  898. package/locales/extra/en-NR.d.ts +1 -1
  899. package/locales/extra/en-NR.mjs +2 -2
  900. package/locales/extra/en-NU.d.ts +1 -1
  901. package/locales/extra/en-NU.mjs +2 -2
  902. package/locales/extra/en-NZ.d.ts +1 -1
  903. package/locales/extra/en-NZ.mjs +2 -2
  904. package/locales/extra/en-PG.d.ts +1 -1
  905. package/locales/extra/en-PG.mjs +2 -2
  906. package/locales/extra/en-PH.d.ts +1 -1
  907. package/locales/extra/en-PH.mjs +2 -2
  908. package/locales/extra/en-PK.d.ts +1 -1
  909. package/locales/extra/en-PK.mjs +2 -2
  910. package/locales/extra/en-PN.d.ts +1 -1
  911. package/locales/extra/en-PN.mjs +2 -2
  912. package/locales/extra/en-PR.d.ts +1 -1
  913. package/locales/extra/en-PR.mjs +2 -2
  914. package/locales/extra/en-PW.d.ts +1 -1
  915. package/locales/extra/en-PW.mjs +2 -2
  916. package/locales/extra/en-RW.d.ts +1 -1
  917. package/locales/extra/en-RW.mjs +2 -2
  918. package/locales/extra/en-SB.d.ts +1 -1
  919. package/locales/extra/en-SB.mjs +2 -2
  920. package/locales/extra/en-SC.d.ts +1 -1
  921. package/locales/extra/en-SC.mjs +2 -2
  922. package/locales/extra/en-SD.d.ts +1 -1
  923. package/locales/extra/en-SD.mjs +2 -2
  924. package/locales/extra/en-SE.d.ts +1 -1
  925. package/locales/extra/en-SE.mjs +2 -2
  926. package/locales/extra/en-SG.d.ts +1 -1
  927. package/locales/extra/en-SG.mjs +2 -2
  928. package/locales/extra/en-SH.d.ts +1 -1
  929. package/locales/extra/en-SH.mjs +2 -2
  930. package/locales/extra/en-SI.d.ts +1 -1
  931. package/locales/extra/en-SI.mjs +2 -2
  932. package/locales/extra/en-SL.d.ts +1 -1
  933. package/locales/extra/en-SL.mjs +2 -2
  934. package/locales/extra/en-SS.d.ts +1 -1
  935. package/locales/extra/en-SS.mjs +2 -2
  936. package/locales/extra/en-SX.d.ts +1 -1
  937. package/locales/extra/en-SX.mjs +2 -2
  938. package/locales/extra/en-SZ.d.ts +1 -1
  939. package/locales/extra/en-SZ.mjs +2 -2
  940. package/locales/extra/en-TC.d.ts +1 -1
  941. package/locales/extra/en-TC.mjs +2 -2
  942. package/locales/extra/en-TK.d.ts +1 -1
  943. package/locales/extra/en-TK.mjs +2 -2
  944. package/locales/extra/en-TO.d.ts +1 -1
  945. package/locales/extra/en-TO.mjs +2 -2
  946. package/locales/extra/en-TT.d.ts +1 -1
  947. package/locales/extra/en-TT.mjs +2 -2
  948. package/locales/extra/en-TV.d.ts +1 -1
  949. package/locales/extra/en-TV.mjs +2 -2
  950. package/locales/extra/en-TZ.d.ts +1 -1
  951. package/locales/extra/en-TZ.mjs +2 -2
  952. package/locales/extra/en-UG.d.ts +1 -1
  953. package/locales/extra/en-UG.mjs +2 -2
  954. package/locales/extra/en-UM.d.ts +1 -1
  955. package/locales/extra/en-UM.mjs +2 -2
  956. package/locales/extra/en-VC.d.ts +1 -1
  957. package/locales/extra/en-VC.mjs +2 -2
  958. package/locales/extra/en-VG.d.ts +1 -1
  959. package/locales/extra/en-VG.mjs +2 -2
  960. package/locales/extra/en-VI.d.ts +1 -1
  961. package/locales/extra/en-VI.mjs +2 -2
  962. package/locales/extra/en-VU.d.ts +1 -1
  963. package/locales/extra/en-VU.mjs +2 -2
  964. package/locales/extra/en-WS.d.ts +1 -1
  965. package/locales/extra/en-WS.mjs +2 -2
  966. package/locales/extra/en-ZA.d.ts +1 -1
  967. package/locales/extra/en-ZA.mjs +2 -2
  968. package/locales/extra/en-ZM.d.ts +1 -1
  969. package/locales/extra/en-ZM.mjs +2 -2
  970. package/locales/extra/en-ZW.d.ts +1 -1
  971. package/locales/extra/en-ZW.mjs +2 -2
  972. package/locales/extra/en.d.ts +1 -1
  973. package/locales/extra/en.mjs +2 -2
  974. package/locales/extra/eo.d.ts +1 -1
  975. package/locales/extra/eo.mjs +2 -2
  976. package/locales/extra/es-419.d.ts +1 -1
  977. package/locales/extra/es-419.mjs +2 -2
  978. package/locales/extra/es-AR.d.ts +1 -1
  979. package/locales/extra/es-AR.mjs +2 -2
  980. package/locales/extra/es-BO.d.ts +1 -1
  981. package/locales/extra/es-BO.mjs +2 -2
  982. package/locales/extra/es-BR.d.ts +1 -1
  983. package/locales/extra/es-BR.mjs +2 -2
  984. package/locales/extra/es-BZ.d.ts +1 -1
  985. package/locales/extra/es-BZ.mjs +2 -2
  986. package/locales/extra/es-CL.d.ts +1 -1
  987. package/locales/extra/es-CL.mjs +2 -2
  988. package/locales/extra/es-CO.d.ts +1 -1
  989. package/locales/extra/es-CO.mjs +2 -2
  990. package/locales/extra/es-CR.d.ts +1 -1
  991. package/locales/extra/es-CR.mjs +2 -2
  992. package/locales/extra/es-CU.d.ts +1 -1
  993. package/locales/extra/es-CU.mjs +2 -2
  994. package/locales/extra/es-DO.d.ts +1 -1
  995. package/locales/extra/es-DO.mjs +2 -2
  996. package/locales/extra/es-EA.d.ts +1 -1
  997. package/locales/extra/es-EA.mjs +2 -2
  998. package/locales/extra/es-EC.d.ts +1 -1
  999. package/locales/extra/es-EC.mjs +2 -2
  1000. package/locales/extra/es-GQ.d.ts +1 -1
  1001. package/locales/extra/es-GQ.mjs +2 -2
  1002. package/locales/extra/es-GT.d.ts +1 -1
  1003. package/locales/extra/es-GT.mjs +2 -2
  1004. package/locales/extra/es-HN.d.ts +1 -1
  1005. package/locales/extra/es-HN.mjs +2 -2
  1006. package/locales/extra/es-IC.d.ts +1 -1
  1007. package/locales/extra/es-IC.mjs +2 -2
  1008. package/locales/extra/es-MX.d.ts +1 -1
  1009. package/locales/extra/es-MX.mjs +2 -2
  1010. package/locales/extra/es-NI.d.ts +1 -1
  1011. package/locales/extra/es-NI.mjs +2 -2
  1012. package/locales/extra/es-PA.d.ts +1 -1
  1013. package/locales/extra/es-PA.mjs +2 -2
  1014. package/locales/extra/es-PE.d.ts +1 -1
  1015. package/locales/extra/es-PE.mjs +2 -2
  1016. package/locales/extra/es-PH.d.ts +1 -1
  1017. package/locales/extra/es-PH.mjs +2 -2
  1018. package/locales/extra/es-PR.d.ts +1 -1
  1019. package/locales/extra/es-PR.mjs +2 -2
  1020. package/locales/extra/es-PY.d.ts +1 -1
  1021. package/locales/extra/es-PY.mjs +2 -2
  1022. package/locales/extra/es-SV.d.ts +1 -1
  1023. package/locales/extra/es-SV.mjs +2 -2
  1024. package/locales/extra/es-US.d.ts +1 -1
  1025. package/locales/extra/es-US.mjs +2 -2
  1026. package/locales/extra/es-UY.d.ts +1 -1
  1027. package/locales/extra/es-UY.mjs +2 -2
  1028. package/locales/extra/es-VE.d.ts +1 -1
  1029. package/locales/extra/es-VE.mjs +2 -2
  1030. package/locales/extra/es.d.ts +1 -1
  1031. package/locales/extra/es.mjs +2 -2
  1032. package/locales/extra/et.d.ts +1 -1
  1033. package/locales/extra/et.mjs +2 -2
  1034. package/locales/extra/eu.d.ts +1 -1
  1035. package/locales/extra/eu.mjs +2 -2
  1036. package/locales/extra/ewo.d.ts +1 -1
  1037. package/locales/extra/ewo.mjs +2 -2
  1038. package/locales/extra/fa-AF.d.ts +1 -1
  1039. package/locales/extra/fa-AF.mjs +2 -2
  1040. package/locales/extra/fa.d.ts +1 -1
  1041. package/locales/extra/fa.mjs +2 -2
  1042. package/locales/extra/ff-Adlm-BF.d.ts +1 -1
  1043. package/locales/extra/ff-Adlm-BF.mjs +2 -2
  1044. package/locales/extra/ff-Adlm-CM.d.ts +1 -1
  1045. package/locales/extra/ff-Adlm-CM.mjs +2 -2
  1046. package/locales/extra/ff-Adlm-GH.d.ts +1 -1
  1047. package/locales/extra/ff-Adlm-GH.mjs +2 -2
  1048. package/locales/extra/ff-Adlm-GM.d.ts +1 -1
  1049. package/locales/extra/ff-Adlm-GM.mjs +2 -2
  1050. package/locales/extra/ff-Adlm-GW.d.ts +1 -1
  1051. package/locales/extra/ff-Adlm-GW.mjs +2 -2
  1052. package/locales/extra/ff-Adlm-LR.d.ts +1 -1
  1053. package/locales/extra/ff-Adlm-LR.mjs +2 -2
  1054. package/locales/extra/ff-Adlm-MR.d.ts +1 -1
  1055. package/locales/extra/ff-Adlm-MR.mjs +2 -2
  1056. package/locales/extra/ff-Adlm-NE.d.ts +1 -1
  1057. package/locales/extra/ff-Adlm-NE.mjs +2 -2
  1058. package/locales/extra/ff-Adlm-NG.d.ts +1 -1
  1059. package/locales/extra/ff-Adlm-NG.mjs +2 -2
  1060. package/locales/extra/ff-Adlm-SL.d.ts +1 -1
  1061. package/locales/extra/ff-Adlm-SL.mjs +2 -2
  1062. package/locales/extra/ff-Adlm-SN.d.ts +1 -1
  1063. package/locales/extra/ff-Adlm-SN.mjs +2 -2
  1064. package/locales/extra/ff-Adlm.d.ts +1 -1
  1065. package/locales/extra/ff-Adlm.mjs +2 -2
  1066. package/locales/extra/ff-CM.d.ts +1 -1
  1067. package/locales/extra/ff-CM.mjs +2 -2
  1068. package/locales/extra/ff-GN.d.ts +1 -1
  1069. package/locales/extra/ff-GN.mjs +2 -2
  1070. package/locales/extra/ff-Latn-BF.d.ts +1 -1
  1071. package/locales/extra/ff-Latn-BF.mjs +2 -2
  1072. package/locales/extra/ff-Latn-CM.d.ts +1 -1
  1073. package/locales/extra/ff-Latn-CM.mjs +2 -2
  1074. package/locales/extra/ff-Latn-GH.d.ts +1 -1
  1075. package/locales/extra/ff-Latn-GH.mjs +2 -2
  1076. package/locales/extra/ff-Latn-GM.d.ts +1 -1
  1077. package/locales/extra/ff-Latn-GM.mjs +2 -2
  1078. package/locales/extra/ff-Latn-GN.d.ts +1 -1
  1079. package/locales/extra/ff-Latn-GN.mjs +2 -2
  1080. package/locales/extra/ff-Latn-GW.d.ts +1 -1
  1081. package/locales/extra/ff-Latn-GW.mjs +2 -2
  1082. package/locales/extra/ff-Latn-LR.d.ts +1 -1
  1083. package/locales/extra/ff-Latn-LR.mjs +2 -2
  1084. package/locales/extra/ff-Latn-MR.d.ts +1 -1
  1085. package/locales/extra/ff-Latn-MR.mjs +2 -2
  1086. package/locales/extra/ff-Latn-NE.d.ts +1 -1
  1087. package/locales/extra/ff-Latn-NE.mjs +2 -2
  1088. package/locales/extra/ff-Latn-NG.d.ts +1 -1
  1089. package/locales/extra/ff-Latn-NG.mjs +2 -2
  1090. package/locales/extra/ff-Latn-SL.d.ts +1 -1
  1091. package/locales/extra/ff-Latn-SL.mjs +2 -2
  1092. package/locales/extra/ff-Latn.d.ts +1 -1
  1093. package/locales/extra/ff-Latn.mjs +2 -2
  1094. package/locales/extra/ff-MR.d.ts +1 -1
  1095. package/locales/extra/ff-MR.mjs +2 -2
  1096. package/locales/extra/ff.d.ts +1 -1
  1097. package/locales/extra/ff.mjs +2 -2
  1098. package/locales/extra/fi.d.ts +1 -1
  1099. package/locales/extra/fi.mjs +2 -2
  1100. package/locales/extra/fil.d.ts +1 -1
  1101. package/locales/extra/fil.mjs +2 -2
  1102. package/locales/extra/fo-DK.d.ts +1 -1
  1103. package/locales/extra/fo-DK.mjs +2 -2
  1104. package/locales/extra/fo.d.ts +1 -1
  1105. package/locales/extra/fo.mjs +2 -2
  1106. package/locales/extra/fr-BE.d.ts +1 -1
  1107. package/locales/extra/fr-BE.mjs +2 -2
  1108. package/locales/extra/fr-BF.d.ts +1 -1
  1109. package/locales/extra/fr-BF.mjs +2 -2
  1110. package/locales/extra/fr-BI.d.ts +1 -1
  1111. package/locales/extra/fr-BI.mjs +2 -2
  1112. package/locales/extra/fr-BJ.d.ts +1 -1
  1113. package/locales/extra/fr-BJ.mjs +2 -2
  1114. package/locales/extra/fr-BL.d.ts +1 -1
  1115. package/locales/extra/fr-BL.mjs +2 -2
  1116. package/locales/extra/fr-CA.d.ts +1 -1
  1117. package/locales/extra/fr-CA.mjs +2 -2
  1118. package/locales/extra/fr-CD.d.ts +1 -1
  1119. package/locales/extra/fr-CD.mjs +2 -2
  1120. package/locales/extra/fr-CF.d.ts +1 -1
  1121. package/locales/extra/fr-CF.mjs +2 -2
  1122. package/locales/extra/fr-CG.d.ts +1 -1
  1123. package/locales/extra/fr-CG.mjs +2 -2
  1124. package/locales/extra/fr-CH.d.ts +1 -1
  1125. package/locales/extra/fr-CH.mjs +2 -2
  1126. package/locales/extra/fr-CI.d.ts +1 -1
  1127. package/locales/extra/fr-CI.mjs +2 -2
  1128. package/locales/extra/fr-CM.d.ts +1 -1
  1129. package/locales/extra/fr-CM.mjs +2 -2
  1130. package/locales/extra/fr-DJ.d.ts +1 -1
  1131. package/locales/extra/fr-DJ.mjs +2 -2
  1132. package/locales/extra/fr-DZ.d.ts +1 -1
  1133. package/locales/extra/fr-DZ.mjs +2 -2
  1134. package/locales/extra/fr-GA.d.ts +1 -1
  1135. package/locales/extra/fr-GA.mjs +2 -2
  1136. package/locales/extra/fr-GF.d.ts +1 -1
  1137. package/locales/extra/fr-GF.mjs +2 -2
  1138. package/locales/extra/fr-GN.d.ts +1 -1
  1139. package/locales/extra/fr-GN.mjs +2 -2
  1140. package/locales/extra/fr-GP.d.ts +1 -1
  1141. package/locales/extra/fr-GP.mjs +2 -2
  1142. package/locales/extra/fr-GQ.d.ts +1 -1
  1143. package/locales/extra/fr-GQ.mjs +2 -2
  1144. package/locales/extra/fr-HT.d.ts +1 -1
  1145. package/locales/extra/fr-HT.mjs +2 -2
  1146. package/locales/extra/fr-KM.d.ts +1 -1
  1147. package/locales/extra/fr-KM.mjs +2 -2
  1148. package/locales/extra/fr-LU.d.ts +1 -1
  1149. package/locales/extra/fr-LU.mjs +2 -2
  1150. package/locales/extra/fr-MA.d.ts +1 -1
  1151. package/locales/extra/fr-MA.mjs +2 -2
  1152. package/locales/extra/fr-MC.d.ts +1 -1
  1153. package/locales/extra/fr-MC.mjs +2 -2
  1154. package/locales/extra/fr-MF.d.ts +1 -1
  1155. package/locales/extra/fr-MF.mjs +2 -2
  1156. package/locales/extra/fr-MG.d.ts +1 -1
  1157. package/locales/extra/fr-MG.mjs +2 -2
  1158. package/locales/extra/fr-ML.d.ts +1 -1
  1159. package/locales/extra/fr-ML.mjs +2 -2
  1160. package/locales/extra/fr-MQ.d.ts +1 -1
  1161. package/locales/extra/fr-MQ.mjs +2 -2
  1162. package/locales/extra/fr-MR.d.ts +1 -1
  1163. package/locales/extra/fr-MR.mjs +2 -2
  1164. package/locales/extra/fr-MU.d.ts +1 -1
  1165. package/locales/extra/fr-MU.mjs +2 -2
  1166. package/locales/extra/fr-NC.d.ts +1 -1
  1167. package/locales/extra/fr-NC.mjs +2 -2
  1168. package/locales/extra/fr-NE.d.ts +1 -1
  1169. package/locales/extra/fr-NE.mjs +2 -2
  1170. package/locales/extra/fr-PF.d.ts +1 -1
  1171. package/locales/extra/fr-PF.mjs +2 -2
  1172. package/locales/extra/fr-PM.d.ts +1 -1
  1173. package/locales/extra/fr-PM.mjs +2 -2
  1174. package/locales/extra/fr-RE.d.ts +1 -1
  1175. package/locales/extra/fr-RE.mjs +2 -2
  1176. package/locales/extra/fr-RW.d.ts +1 -1
  1177. package/locales/extra/fr-RW.mjs +2 -2
  1178. package/locales/extra/fr-SC.d.ts +1 -1
  1179. package/locales/extra/fr-SC.mjs +2 -2
  1180. package/locales/extra/fr-SN.d.ts +1 -1
  1181. package/locales/extra/fr-SN.mjs +2 -2
  1182. package/locales/extra/fr-SY.d.ts +1 -1
  1183. package/locales/extra/fr-SY.mjs +2 -2
  1184. package/locales/extra/fr-TD.d.ts +1 -1
  1185. package/locales/extra/fr-TD.mjs +2 -2
  1186. package/locales/extra/fr-TG.d.ts +1 -1
  1187. package/locales/extra/fr-TG.mjs +2 -2
  1188. package/locales/extra/fr-TN.d.ts +1 -1
  1189. package/locales/extra/fr-TN.mjs +2 -2
  1190. package/locales/extra/fr-VU.d.ts +1 -1
  1191. package/locales/extra/fr-VU.mjs +2 -2
  1192. package/locales/extra/fr-WF.d.ts +1 -1
  1193. package/locales/extra/fr-WF.mjs +2 -2
  1194. package/locales/extra/fr-YT.d.ts +1 -1
  1195. package/locales/extra/fr-YT.mjs +2 -2
  1196. package/locales/extra/fr.d.ts +1 -1
  1197. package/locales/extra/fr.mjs +2 -2
  1198. package/locales/extra/fur.d.ts +1 -1
  1199. package/locales/extra/fur.mjs +2 -2
  1200. package/locales/extra/fy.d.ts +1 -1
  1201. package/locales/extra/fy.mjs +2 -2
  1202. package/locales/extra/ga-GB.d.ts +1 -1
  1203. package/locales/extra/ga-GB.mjs +2 -2
  1204. package/locales/extra/ga.d.ts +1 -1
  1205. package/locales/extra/ga.mjs +2 -2
  1206. package/locales/extra/gd.d.ts +1 -1
  1207. package/locales/extra/gd.mjs +2 -2
  1208. package/locales/extra/gl.d.ts +1 -1
  1209. package/locales/extra/gl.mjs +2 -2
  1210. package/locales/extra/gsw-FR.d.ts +1 -1
  1211. package/locales/extra/gsw-FR.mjs +2 -2
  1212. package/locales/extra/gsw-LI.d.ts +1 -1
  1213. package/locales/extra/gsw-LI.mjs +2 -2
  1214. package/locales/extra/gsw.d.ts +1 -1
  1215. package/locales/extra/gsw.mjs +2 -2
  1216. package/locales/extra/gu.d.ts +1 -1
  1217. package/locales/extra/gu.mjs +2 -2
  1218. package/locales/extra/guz.d.ts +1 -1
  1219. package/locales/extra/guz.mjs +2 -2
  1220. package/locales/extra/gv.d.ts +1 -1
  1221. package/locales/extra/gv.mjs +2 -2
  1222. package/locales/extra/ha-GH.d.ts +1 -1
  1223. package/locales/extra/ha-GH.mjs +2 -2
  1224. package/locales/extra/ha-NE.d.ts +1 -1
  1225. package/locales/extra/ha-NE.mjs +2 -2
  1226. package/locales/extra/ha.d.ts +1 -1
  1227. package/locales/extra/ha.mjs +2 -2
  1228. package/locales/extra/haw.d.ts +1 -1
  1229. package/locales/extra/haw.mjs +2 -2
  1230. package/locales/extra/he.d.ts +1 -1
  1231. package/locales/extra/he.mjs +2 -2
  1232. package/locales/extra/hi-Latn.d.ts +1 -1
  1233. package/locales/extra/hi-Latn.mjs +2 -2
  1234. package/locales/extra/hi.d.ts +1 -1
  1235. package/locales/extra/hi.mjs +2 -2
  1236. package/locales/extra/hr-BA.d.ts +1 -1
  1237. package/locales/extra/hr-BA.mjs +2 -2
  1238. package/locales/extra/hr.d.ts +1 -1
  1239. package/locales/extra/hr.mjs +2 -2
  1240. package/locales/extra/hsb.d.ts +1 -1
  1241. package/locales/extra/hsb.mjs +2 -2
  1242. package/locales/extra/hu.d.ts +1 -1
  1243. package/locales/extra/hu.mjs +2 -2
  1244. package/locales/extra/hy.d.ts +1 -1
  1245. package/locales/extra/hy.mjs +2 -2
  1246. package/locales/extra/ia.d.ts +1 -1
  1247. package/locales/extra/ia.mjs +2 -2
  1248. package/locales/extra/id.d.ts +1 -1
  1249. package/locales/extra/id.mjs +2 -2
  1250. package/locales/extra/ig.d.ts +1 -1
  1251. package/locales/extra/ig.mjs +2 -2
  1252. package/locales/extra/ii.d.ts +1 -1
  1253. package/locales/extra/ii.mjs +2 -2
  1254. package/locales/extra/is.d.ts +1 -1
  1255. package/locales/extra/is.mjs +2 -2
  1256. package/locales/extra/it-CH.d.ts +1 -1
  1257. package/locales/extra/it-CH.mjs +2 -2
  1258. package/locales/extra/it-SM.d.ts +1 -1
  1259. package/locales/extra/it-SM.mjs +2 -2
  1260. package/locales/extra/it-VA.d.ts +1 -1
  1261. package/locales/extra/it-VA.mjs +2 -2
  1262. package/locales/extra/it.d.ts +1 -1
  1263. package/locales/extra/it.mjs +2 -2
  1264. package/locales/extra/ja.d.ts +1 -1
  1265. package/locales/extra/ja.mjs +2 -2
  1266. package/locales/extra/jgo.d.ts +1 -1
  1267. package/locales/extra/jgo.mjs +2 -2
  1268. package/locales/extra/jmc.d.ts +1 -1
  1269. package/locales/extra/jmc.mjs +2 -2
  1270. package/locales/extra/jv.d.ts +1 -1
  1271. package/locales/extra/jv.mjs +2 -2
  1272. package/locales/extra/ka.d.ts +1 -1
  1273. package/locales/extra/ka.mjs +2 -2
  1274. package/locales/extra/kab.d.ts +1 -1
  1275. package/locales/extra/kab.mjs +2 -2
  1276. package/locales/extra/kam.d.ts +1 -1
  1277. package/locales/extra/kam.mjs +2 -2
  1278. package/locales/extra/kde.d.ts +1 -1
  1279. package/locales/extra/kde.mjs +2 -2
  1280. package/locales/extra/kea.d.ts +1 -1
  1281. package/locales/extra/kea.mjs +2 -2
  1282. package/locales/extra/kgp.d.ts +1 -1
  1283. package/locales/extra/kgp.mjs +2 -2
  1284. package/locales/extra/khq.d.ts +1 -1
  1285. package/locales/extra/khq.mjs +2 -2
  1286. package/locales/extra/ki.d.ts +1 -1
  1287. package/locales/extra/ki.mjs +2 -2
  1288. package/locales/extra/kk.d.ts +1 -1
  1289. package/locales/extra/kk.mjs +2 -2
  1290. package/locales/extra/kkj.d.ts +1 -1
  1291. package/locales/extra/kkj.mjs +2 -2
  1292. package/locales/extra/kl.d.ts +1 -1
  1293. package/locales/extra/kl.mjs +2 -2
  1294. package/locales/extra/kln.d.ts +1 -1
  1295. package/locales/extra/kln.mjs +2 -2
  1296. package/locales/extra/km.d.ts +1 -1
  1297. package/locales/extra/km.mjs +2 -2
  1298. package/locales/extra/kn.d.ts +1 -1
  1299. package/locales/extra/kn.mjs +2 -2
  1300. package/locales/extra/ko-KP.d.ts +1 -1
  1301. package/locales/extra/ko-KP.mjs +2 -2
  1302. package/locales/extra/ko.d.ts +1 -1
  1303. package/locales/extra/ko.mjs +2 -2
  1304. package/locales/extra/kok.d.ts +1 -1
  1305. package/locales/extra/kok.mjs +2 -2
  1306. package/locales/extra/ks-Arab.d.ts +1 -1
  1307. package/locales/extra/ks-Arab.mjs +2 -2
  1308. package/locales/extra/ks-Deva.d.ts +1 -1
  1309. package/locales/extra/ks-Deva.mjs +2 -2
  1310. package/locales/extra/ks.d.ts +1 -1
  1311. package/locales/extra/ks.mjs +2 -2
  1312. package/locales/extra/ksb.d.ts +1 -1
  1313. package/locales/extra/ksb.mjs +2 -2
  1314. package/locales/extra/ksf.d.ts +1 -1
  1315. package/locales/extra/ksf.mjs +2 -2
  1316. package/locales/extra/ksh.d.ts +1 -1
  1317. package/locales/extra/ksh.mjs +2 -2
  1318. package/locales/extra/ku.d.ts +1 -1
  1319. package/locales/extra/ku.mjs +2 -2
  1320. package/locales/extra/kw.d.ts +1 -1
  1321. package/locales/extra/kw.mjs +2 -2
  1322. package/locales/extra/ky.d.ts +1 -1
  1323. package/locales/extra/ky.mjs +2 -2
  1324. package/locales/extra/lag.d.ts +1 -1
  1325. package/locales/extra/lag.mjs +2 -2
  1326. package/locales/extra/lb.d.ts +1 -1
  1327. package/locales/extra/lb.mjs +2 -2
  1328. package/locales/extra/lg.d.ts +1 -1
  1329. package/locales/extra/lg.mjs +2 -2
  1330. package/locales/extra/lkt.d.ts +1 -1
  1331. package/locales/extra/lkt.mjs +2 -2
  1332. package/locales/extra/ln-AO.d.ts +1 -1
  1333. package/locales/extra/ln-AO.mjs +2 -2
  1334. package/locales/extra/ln-CF.d.ts +1 -1
  1335. package/locales/extra/ln-CF.mjs +2 -2
  1336. package/locales/extra/ln-CG.d.ts +1 -1
  1337. package/locales/extra/ln-CG.mjs +2 -2
  1338. package/locales/extra/ln.d.ts +1 -1
  1339. package/locales/extra/ln.mjs +2 -2
  1340. package/locales/extra/lo.d.ts +1 -1
  1341. package/locales/extra/lo.mjs +2 -2
  1342. package/locales/extra/lrc-IQ.d.ts +1 -1
  1343. package/locales/extra/lrc-IQ.mjs +2 -2
  1344. package/locales/extra/lrc.d.ts +1 -1
  1345. package/locales/extra/lrc.mjs +2 -2
  1346. package/locales/extra/lt.d.ts +1 -1
  1347. package/locales/extra/lt.mjs +2 -2
  1348. package/locales/extra/lu.d.ts +1 -1
  1349. package/locales/extra/lu.mjs +2 -2
  1350. package/locales/extra/luo.d.ts +1 -1
  1351. package/locales/extra/luo.mjs +2 -2
  1352. package/locales/extra/luy.d.ts +1 -1
  1353. package/locales/extra/luy.mjs +2 -2
  1354. package/locales/extra/lv.d.ts +1 -1
  1355. package/locales/extra/lv.mjs +2 -2
  1356. package/locales/extra/mai.d.ts +1 -1
  1357. package/locales/extra/mai.mjs +2 -2
  1358. package/locales/extra/mas-TZ.d.ts +1 -1
  1359. package/locales/extra/mas-TZ.mjs +2 -2
  1360. package/locales/extra/mas.d.ts +1 -1
  1361. package/locales/extra/mas.mjs +2 -2
  1362. package/locales/extra/mer.d.ts +1 -1
  1363. package/locales/extra/mer.mjs +2 -2
  1364. package/locales/extra/mfe.d.ts +1 -1
  1365. package/locales/extra/mfe.mjs +2 -2
  1366. package/locales/extra/mg.d.ts +1 -1
  1367. package/locales/extra/mg.mjs +2 -2
  1368. package/locales/extra/mgh.d.ts +1 -1
  1369. package/locales/extra/mgh.mjs +2 -2
  1370. package/locales/extra/mgo.d.ts +1 -1
  1371. package/locales/extra/mgo.mjs +2 -2
  1372. package/locales/extra/mi.d.ts +1 -1
  1373. package/locales/extra/mi.mjs +2 -2
  1374. package/locales/extra/mk.d.ts +1 -1
  1375. package/locales/extra/mk.mjs +2 -2
  1376. package/locales/extra/ml.d.ts +1 -1
  1377. package/locales/extra/ml.mjs +2 -2
  1378. package/locales/extra/mn.d.ts +1 -1
  1379. package/locales/extra/mn.mjs +2 -2
  1380. package/locales/extra/mni-Beng.d.ts +1 -1
  1381. package/locales/extra/mni-Beng.mjs +2 -2
  1382. package/locales/extra/mni.d.ts +1 -1
  1383. package/locales/extra/mni.mjs +2 -2
  1384. package/locales/extra/mr.d.ts +1 -1
  1385. package/locales/extra/mr.mjs +2 -2
  1386. package/locales/extra/ms-BN.d.ts +1 -1
  1387. package/locales/extra/ms-BN.mjs +2 -2
  1388. package/locales/extra/ms-ID.d.ts +1 -1
  1389. package/locales/extra/ms-ID.mjs +2 -2
  1390. package/locales/extra/ms-SG.d.ts +1 -1
  1391. package/locales/extra/ms-SG.mjs +2 -2
  1392. package/locales/extra/ms.d.ts +1 -1
  1393. package/locales/extra/ms.mjs +2 -2
  1394. package/locales/extra/mt.d.ts +1 -1
  1395. package/locales/extra/mt.mjs +2 -2
  1396. package/locales/extra/mua.d.ts +1 -1
  1397. package/locales/extra/mua.mjs +2 -2
  1398. package/locales/extra/my.d.ts +1 -1
  1399. package/locales/extra/my.mjs +2 -2
  1400. package/locales/extra/mzn.d.ts +1 -1
  1401. package/locales/extra/mzn.mjs +2 -2
  1402. package/locales/extra/naq.d.ts +1 -1
  1403. package/locales/extra/naq.mjs +2 -2
  1404. package/locales/extra/nb-SJ.d.ts +1 -1
  1405. package/locales/extra/nb-SJ.mjs +2 -2
  1406. package/locales/extra/nb.d.ts +1 -1
  1407. package/locales/extra/nb.mjs +2 -2
  1408. package/locales/extra/nd.d.ts +1 -1
  1409. package/locales/extra/nd.mjs +2 -2
  1410. package/locales/extra/nds-NL.d.ts +1 -1
  1411. package/locales/extra/nds-NL.mjs +2 -2
  1412. package/locales/extra/nds.d.ts +1 -1
  1413. package/locales/extra/nds.mjs +2 -2
  1414. package/locales/extra/ne-IN.d.ts +1 -1
  1415. package/locales/extra/ne-IN.mjs +2 -2
  1416. package/locales/extra/ne.d.ts +1 -1
  1417. package/locales/extra/ne.mjs +2 -2
  1418. package/locales/extra/nl-AW.d.ts +1 -1
  1419. package/locales/extra/nl-AW.mjs +2 -2
  1420. package/locales/extra/nl-BE.d.ts +1 -1
  1421. package/locales/extra/nl-BE.mjs +2 -2
  1422. package/locales/extra/nl-BQ.d.ts +1 -1
  1423. package/locales/extra/nl-BQ.mjs +2 -2
  1424. package/locales/extra/nl-CW.d.ts +1 -1
  1425. package/locales/extra/nl-CW.mjs +2 -2
  1426. package/locales/extra/nl-SR.d.ts +1 -1
  1427. package/locales/extra/nl-SR.mjs +2 -2
  1428. package/locales/extra/nl-SX.d.ts +1 -1
  1429. package/locales/extra/nl-SX.mjs +2 -2
  1430. package/locales/extra/nl.d.ts +1 -1
  1431. package/locales/extra/nl.mjs +2 -2
  1432. package/locales/extra/nmg.d.ts +1 -1
  1433. package/locales/extra/nmg.mjs +2 -2
  1434. package/locales/extra/nn.d.ts +1 -1
  1435. package/locales/extra/nn.mjs +2 -2
  1436. package/locales/extra/nnh.d.ts +1 -1
  1437. package/locales/extra/nnh.mjs +2 -2
  1438. package/locales/extra/no.d.ts +1 -1
  1439. package/locales/extra/no.mjs +2 -2
  1440. package/locales/extra/nus.d.ts +1 -1
  1441. package/locales/extra/nus.mjs +2 -2
  1442. package/locales/extra/nyn.d.ts +1 -1
  1443. package/locales/extra/nyn.mjs +2 -2
  1444. package/locales/extra/om-KE.d.ts +1 -1
  1445. package/locales/extra/om-KE.mjs +2 -2
  1446. package/locales/extra/om.d.ts +1 -1
  1447. package/locales/extra/om.mjs +2 -2
  1448. package/locales/extra/or.d.ts +1 -1
  1449. package/locales/extra/or.mjs +2 -2
  1450. package/locales/extra/os-RU.d.ts +1 -1
  1451. package/locales/extra/os-RU.mjs +2 -2
  1452. package/locales/extra/os.d.ts +1 -1
  1453. package/locales/extra/os.mjs +2 -2
  1454. package/locales/extra/pa-Arab.d.ts +1 -1
  1455. package/locales/extra/pa-Arab.mjs +2 -2
  1456. package/locales/extra/pa-Guru.d.ts +1 -1
  1457. package/locales/extra/pa-Guru.mjs +2 -2
  1458. package/locales/extra/pa.d.ts +1 -1
  1459. package/locales/extra/pa.mjs +2 -2
  1460. package/locales/extra/pcm.d.ts +1 -1
  1461. package/locales/extra/pcm.mjs +2 -2
  1462. package/locales/extra/pl.d.ts +1 -1
  1463. package/locales/extra/pl.mjs +2 -2
  1464. package/locales/extra/ps-PK.d.ts +1 -1
  1465. package/locales/extra/ps-PK.mjs +2 -2
  1466. package/locales/extra/ps.d.ts +1 -1
  1467. package/locales/extra/ps.mjs +2 -2
  1468. package/locales/extra/pt-AO.d.ts +1 -1
  1469. package/locales/extra/pt-AO.mjs +2 -2
  1470. package/locales/extra/pt-CH.d.ts +1 -1
  1471. package/locales/extra/pt-CH.mjs +2 -2
  1472. package/locales/extra/pt-CV.d.ts +1 -1
  1473. package/locales/extra/pt-CV.mjs +2 -2
  1474. package/locales/extra/pt-GQ.d.ts +1 -1
  1475. package/locales/extra/pt-GQ.mjs +2 -2
  1476. package/locales/extra/pt-GW.d.ts +1 -1
  1477. package/locales/extra/pt-GW.mjs +2 -2
  1478. package/locales/extra/pt-LU.d.ts +1 -1
  1479. package/locales/extra/pt-LU.mjs +2 -2
  1480. package/locales/extra/pt-MO.d.ts +1 -1
  1481. package/locales/extra/pt-MO.mjs +2 -2
  1482. package/locales/extra/pt-MZ.d.ts +1 -1
  1483. package/locales/extra/pt-MZ.mjs +2 -2
  1484. package/locales/extra/pt-PT.d.ts +1 -1
  1485. package/locales/extra/pt-PT.mjs +2 -2
  1486. package/locales/extra/pt-ST.d.ts +1 -1
  1487. package/locales/extra/pt-ST.mjs +2 -2
  1488. package/locales/extra/pt-TL.d.ts +1 -1
  1489. package/locales/extra/pt-TL.mjs +2 -2
  1490. package/locales/extra/pt.d.ts +1 -1
  1491. package/locales/extra/pt.mjs +2 -2
  1492. package/locales/extra/qu-BO.d.ts +1 -1
  1493. package/locales/extra/qu-BO.mjs +2 -2
  1494. package/locales/extra/qu-EC.d.ts +1 -1
  1495. package/locales/extra/qu-EC.mjs +2 -2
  1496. package/locales/extra/qu.d.ts +1 -1
  1497. package/locales/extra/qu.mjs +2 -2
  1498. package/locales/extra/rm.d.ts +1 -1
  1499. package/locales/extra/rm.mjs +2 -2
  1500. package/locales/extra/rn.d.ts +1 -1
  1501. package/locales/extra/rn.mjs +2 -2
  1502. package/locales/extra/ro-MD.d.ts +1 -1
  1503. package/locales/extra/ro-MD.mjs +2 -2
  1504. package/locales/extra/ro.d.ts +1 -1
  1505. package/locales/extra/ro.mjs +2 -2
  1506. package/locales/extra/rof.d.ts +1 -1
  1507. package/locales/extra/rof.mjs +2 -2
  1508. package/locales/extra/ru-BY.d.ts +1 -1
  1509. package/locales/extra/ru-BY.mjs +2 -2
  1510. package/locales/extra/ru-KG.d.ts +1 -1
  1511. package/locales/extra/ru-KG.mjs +2 -2
  1512. package/locales/extra/ru-KZ.d.ts +1 -1
  1513. package/locales/extra/ru-KZ.mjs +2 -2
  1514. package/locales/extra/ru-MD.d.ts +1 -1
  1515. package/locales/extra/ru-MD.mjs +2 -2
  1516. package/locales/extra/ru-UA.d.ts +1 -1
  1517. package/locales/extra/ru-UA.mjs +2 -2
  1518. package/locales/extra/ru.d.ts +1 -1
  1519. package/locales/extra/ru.mjs +2 -2
  1520. package/locales/extra/rw.d.ts +1 -1
  1521. package/locales/extra/rw.mjs +2 -2
  1522. package/locales/extra/rwk.d.ts +1 -1
  1523. package/locales/extra/rwk.mjs +2 -2
  1524. package/locales/extra/sa.d.ts +1 -1
  1525. package/locales/extra/sa.mjs +2 -2
  1526. package/locales/extra/sah.d.ts +1 -1
  1527. package/locales/extra/sah.mjs +2 -2
  1528. package/locales/extra/saq.d.ts +1 -1
  1529. package/locales/extra/saq.mjs +2 -2
  1530. package/locales/extra/sat-Olck.d.ts +1 -1
  1531. package/locales/extra/sat-Olck.mjs +2 -2
  1532. package/locales/extra/sat.d.ts +1 -1
  1533. package/locales/extra/sat.mjs +2 -2
  1534. package/locales/extra/sbp.d.ts +1 -1
  1535. package/locales/extra/sbp.mjs +2 -2
  1536. package/locales/extra/sc.d.ts +1 -1
  1537. package/locales/extra/sc.mjs +2 -2
  1538. package/locales/extra/sd-Arab.d.ts +1 -1
  1539. package/locales/extra/sd-Arab.mjs +2 -2
  1540. package/locales/extra/sd-Deva.d.ts +1 -1
  1541. package/locales/extra/sd-Deva.mjs +2 -2
  1542. package/locales/extra/sd.d.ts +1 -1
  1543. package/locales/extra/sd.mjs +2 -2
  1544. package/locales/extra/se-FI.d.ts +1 -1
  1545. package/locales/extra/se-FI.mjs +2 -2
  1546. package/locales/extra/se-SE.d.ts +1 -1
  1547. package/locales/extra/se-SE.mjs +2 -2
  1548. package/locales/extra/se.d.ts +1 -1
  1549. package/locales/extra/se.mjs +2 -2
  1550. package/locales/extra/seh.d.ts +1 -1
  1551. package/locales/extra/seh.mjs +2 -2
  1552. package/locales/extra/ses.d.ts +1 -1
  1553. package/locales/extra/ses.mjs +2 -2
  1554. package/locales/extra/sg.d.ts +1 -1
  1555. package/locales/extra/sg.mjs +2 -2
  1556. package/locales/extra/shi-Latn.d.ts +1 -1
  1557. package/locales/extra/shi-Latn.mjs +2 -2
  1558. package/locales/extra/shi-Tfng.d.ts +1 -1
  1559. package/locales/extra/shi-Tfng.mjs +2 -2
  1560. package/locales/extra/shi.d.ts +1 -1
  1561. package/locales/extra/shi.mjs +2 -2
  1562. package/locales/extra/si.d.ts +1 -1
  1563. package/locales/extra/si.mjs +2 -2
  1564. package/locales/extra/sk.d.ts +1 -1
  1565. package/locales/extra/sk.mjs +2 -2
  1566. package/locales/extra/sl.d.ts +1 -1
  1567. package/locales/extra/sl.mjs +2 -2
  1568. package/locales/extra/smn.d.ts +1 -1
  1569. package/locales/extra/smn.mjs +2 -2
  1570. package/locales/extra/sn.d.ts +1 -1
  1571. package/locales/extra/sn.mjs +2 -2
  1572. package/locales/extra/so-DJ.d.ts +1 -1
  1573. package/locales/extra/so-DJ.mjs +2 -2
  1574. package/locales/extra/so-ET.d.ts +1 -1
  1575. package/locales/extra/so-ET.mjs +2 -2
  1576. package/locales/extra/so-KE.d.ts +1 -1
  1577. package/locales/extra/so-KE.mjs +2 -2
  1578. package/locales/extra/so.d.ts +1 -1
  1579. package/locales/extra/so.mjs +2 -2
  1580. package/locales/extra/sq-MK.d.ts +1 -1
  1581. package/locales/extra/sq-MK.mjs +2 -2
  1582. package/locales/extra/sq-XK.d.ts +1 -1
  1583. package/locales/extra/sq-XK.mjs +2 -2
  1584. package/locales/extra/sq.d.ts +1 -1
  1585. package/locales/extra/sq.mjs +2 -2
  1586. package/locales/extra/sr-Cyrl-BA.d.ts +1 -1
  1587. package/locales/extra/sr-Cyrl-BA.mjs +2 -2
  1588. package/locales/extra/sr-Cyrl-ME.d.ts +1 -1
  1589. package/locales/extra/sr-Cyrl-ME.mjs +2 -2
  1590. package/locales/extra/sr-Cyrl-XK.d.ts +1 -1
  1591. package/locales/extra/sr-Cyrl-XK.mjs +2 -2
  1592. package/locales/extra/sr-Cyrl.d.ts +1 -1
  1593. package/locales/extra/sr-Cyrl.mjs +2 -2
  1594. package/locales/extra/sr-Latn-BA.d.ts +1 -1
  1595. package/locales/extra/sr-Latn-BA.mjs +2 -2
  1596. package/locales/extra/sr-Latn-ME.d.ts +1 -1
  1597. package/locales/extra/sr-Latn-ME.mjs +2 -2
  1598. package/locales/extra/sr-Latn-XK.d.ts +1 -1
  1599. package/locales/extra/sr-Latn-XK.mjs +2 -2
  1600. package/locales/extra/sr-Latn.d.ts +1 -1
  1601. package/locales/extra/sr-Latn.mjs +2 -2
  1602. package/locales/extra/sr.d.ts +1 -1
  1603. package/locales/extra/sr.mjs +2 -2
  1604. package/locales/extra/su-Latn.d.ts +1 -1
  1605. package/locales/extra/su-Latn.mjs +2 -2
  1606. package/locales/extra/su.d.ts +1 -1
  1607. package/locales/extra/su.mjs +2 -2
  1608. package/locales/extra/sv-AX.d.ts +1 -1
  1609. package/locales/extra/sv-AX.mjs +2 -2
  1610. package/locales/extra/sv-FI.d.ts +1 -1
  1611. package/locales/extra/sv-FI.mjs +2 -2
  1612. package/locales/extra/sv.d.ts +1 -1
  1613. package/locales/extra/sv.mjs +2 -2
  1614. package/locales/extra/sw-CD.d.ts +1 -1
  1615. package/locales/extra/sw-CD.mjs +2 -2
  1616. package/locales/extra/sw-KE.d.ts +1 -1
  1617. package/locales/extra/sw-KE.mjs +2 -2
  1618. package/locales/extra/sw-UG.d.ts +1 -1
  1619. package/locales/extra/sw-UG.mjs +2 -2
  1620. package/locales/extra/sw.d.ts +1 -1
  1621. package/locales/extra/sw.mjs +2 -2
  1622. package/locales/extra/ta-LK.d.ts +1 -1
  1623. package/locales/extra/ta-LK.mjs +2 -2
  1624. package/locales/extra/ta-MY.d.ts +1 -1
  1625. package/locales/extra/ta-MY.mjs +2 -2
  1626. package/locales/extra/ta-SG.d.ts +1 -1
  1627. package/locales/extra/ta-SG.mjs +2 -2
  1628. package/locales/extra/ta.d.ts +1 -1
  1629. package/locales/extra/ta.mjs +2 -2
  1630. package/locales/extra/te.d.ts +1 -1
  1631. package/locales/extra/te.mjs +2 -2
  1632. package/locales/extra/teo-KE.d.ts +1 -1
  1633. package/locales/extra/teo-KE.mjs +2 -2
  1634. package/locales/extra/teo.d.ts +1 -1
  1635. package/locales/extra/teo.mjs +2 -2
  1636. package/locales/extra/tg.d.ts +1 -1
  1637. package/locales/extra/tg.mjs +2 -2
  1638. package/locales/extra/th.d.ts +1 -1
  1639. package/locales/extra/th.mjs +2 -2
  1640. package/locales/extra/ti-ER.d.ts +1 -1
  1641. package/locales/extra/ti-ER.mjs +2 -2
  1642. package/locales/extra/ti.d.ts +1 -1
  1643. package/locales/extra/ti.mjs +2 -2
  1644. package/locales/extra/tk.d.ts +1 -1
  1645. package/locales/extra/tk.mjs +2 -2
  1646. package/locales/extra/to.d.ts +1 -1
  1647. package/locales/extra/to.mjs +2 -2
  1648. package/locales/extra/tr-CY.d.ts +1 -1
  1649. package/locales/extra/tr-CY.mjs +2 -2
  1650. package/locales/extra/tr.d.ts +1 -1
  1651. package/locales/extra/tr.mjs +2 -2
  1652. package/locales/extra/tt.d.ts +1 -1
  1653. package/locales/extra/tt.mjs +2 -2
  1654. package/locales/extra/twq.d.ts +1 -1
  1655. package/locales/extra/twq.mjs +2 -2
  1656. package/locales/extra/tzm.d.ts +1 -1
  1657. package/locales/extra/tzm.mjs +2 -2
  1658. package/locales/extra/ug.d.ts +1 -1
  1659. package/locales/extra/ug.mjs +2 -2
  1660. package/locales/extra/uk.d.ts +1 -1
  1661. package/locales/extra/uk.mjs +2 -2
  1662. package/locales/extra/und.d.ts +1 -1
  1663. package/locales/extra/und.mjs +2 -2
  1664. package/locales/extra/ur-IN.d.ts +1 -1
  1665. package/locales/extra/ur-IN.mjs +2 -2
  1666. package/locales/extra/ur.d.ts +1 -1
  1667. package/locales/extra/ur.mjs +2 -2
  1668. package/locales/extra/uz-Arab.d.ts +1 -1
  1669. package/locales/extra/uz-Arab.mjs +2 -2
  1670. package/locales/extra/uz-Cyrl.d.ts +1 -1
  1671. package/locales/extra/uz-Cyrl.mjs +2 -2
  1672. package/locales/extra/uz-Latn.d.ts +1 -1
  1673. package/locales/extra/uz-Latn.mjs +2 -2
  1674. package/locales/extra/uz.d.ts +1 -1
  1675. package/locales/extra/uz.mjs +2 -2
  1676. package/locales/extra/vai-Latn.d.ts +1 -1
  1677. package/locales/extra/vai-Latn.mjs +2 -2
  1678. package/locales/extra/vai-Vaii.d.ts +1 -1
  1679. package/locales/extra/vai-Vaii.mjs +2 -2
  1680. package/locales/extra/vai.d.ts +1 -1
  1681. package/locales/extra/vai.mjs +2 -2
  1682. package/locales/extra/vi.d.ts +1 -1
  1683. package/locales/extra/vi.mjs +2 -2
  1684. package/locales/extra/vun.d.ts +1 -1
  1685. package/locales/extra/vun.mjs +2 -2
  1686. package/locales/extra/wae.d.ts +1 -1
  1687. package/locales/extra/wae.mjs +2 -2
  1688. package/locales/extra/wo.d.ts +1 -1
  1689. package/locales/extra/wo.mjs +2 -2
  1690. package/locales/extra/xh.d.ts +1 -1
  1691. package/locales/extra/xh.mjs +2 -2
  1692. package/locales/extra/xog.d.ts +1 -1
  1693. package/locales/extra/xog.mjs +2 -2
  1694. package/locales/extra/yav.d.ts +1 -1
  1695. package/locales/extra/yav.mjs +2 -2
  1696. package/locales/extra/yi.d.ts +1 -1
  1697. package/locales/extra/yi.mjs +2 -2
  1698. package/locales/extra/yo-BJ.d.ts +1 -1
  1699. package/locales/extra/yo-BJ.mjs +2 -2
  1700. package/locales/extra/yo.d.ts +1 -1
  1701. package/locales/extra/yo.mjs +2 -2
  1702. package/locales/extra/yrl-CO.d.ts +1 -1
  1703. package/locales/extra/yrl-CO.mjs +2 -2
  1704. package/locales/extra/yrl-VE.d.ts +1 -1
  1705. package/locales/extra/yrl-VE.mjs +2 -2
  1706. package/locales/extra/yrl.d.ts +1 -1
  1707. package/locales/extra/yrl.mjs +2 -2
  1708. package/locales/extra/yue-Hans.d.ts +1 -1
  1709. package/locales/extra/yue-Hans.mjs +2 -2
  1710. package/locales/extra/yue-Hant.d.ts +1 -1
  1711. package/locales/extra/yue-Hant.mjs +2 -2
  1712. package/locales/extra/yue.d.ts +1 -1
  1713. package/locales/extra/yue.mjs +2 -2
  1714. package/locales/extra/zgh.d.ts +1 -1
  1715. package/locales/extra/zgh.mjs +2 -2
  1716. package/locales/extra/zh-Hans-HK.d.ts +1 -1
  1717. package/locales/extra/zh-Hans-HK.mjs +2 -2
  1718. package/locales/extra/zh-Hans-MO.d.ts +1 -1
  1719. package/locales/extra/zh-Hans-MO.mjs +2 -2
  1720. package/locales/extra/zh-Hans-SG.d.ts +1 -1
  1721. package/locales/extra/zh-Hans-SG.mjs +2 -2
  1722. package/locales/extra/zh-Hans.d.ts +1 -1
  1723. package/locales/extra/zh-Hans.mjs +2 -2
  1724. package/locales/extra/zh-Hant-HK.d.ts +1 -1
  1725. package/locales/extra/zh-Hant-HK.mjs +2 -2
  1726. package/locales/extra/zh-Hant-MO.d.ts +1 -1
  1727. package/locales/extra/zh-Hant-MO.mjs +2 -2
  1728. package/locales/extra/zh-Hant.d.ts +1 -1
  1729. package/locales/extra/zh-Hant.mjs +2 -2
  1730. package/locales/extra/zh.d.ts +1 -1
  1731. package/locales/extra/zh.mjs +2 -2
  1732. package/locales/extra/zu.d.ts +1 -1
  1733. package/locales/extra/zu.mjs +2 -2
  1734. package/locales/fa-AF.d.ts +1 -1
  1735. package/locales/fa-AF.mjs +2 -2
  1736. package/locales/fa.d.ts +1 -1
  1737. package/locales/fa.mjs +2 -2
  1738. package/locales/ff-Adlm-BF.d.ts +1 -1
  1739. package/locales/ff-Adlm-BF.mjs +2 -2
  1740. package/locales/ff-Adlm-CM.d.ts +1 -1
  1741. package/locales/ff-Adlm-CM.mjs +2 -2
  1742. package/locales/ff-Adlm-GH.d.ts +1 -1
  1743. package/locales/ff-Adlm-GH.mjs +2 -2
  1744. package/locales/ff-Adlm-GM.d.ts +1 -1
  1745. package/locales/ff-Adlm-GM.mjs +2 -2
  1746. package/locales/ff-Adlm-GW.d.ts +1 -1
  1747. package/locales/ff-Adlm-GW.mjs +2 -2
  1748. package/locales/ff-Adlm-LR.d.ts +1 -1
  1749. package/locales/ff-Adlm-LR.mjs +2 -2
  1750. package/locales/ff-Adlm-MR.d.ts +1 -1
  1751. package/locales/ff-Adlm-MR.mjs +2 -2
  1752. package/locales/ff-Adlm-NE.d.ts +1 -1
  1753. package/locales/ff-Adlm-NE.mjs +2 -2
  1754. package/locales/ff-Adlm-NG.d.ts +1 -1
  1755. package/locales/ff-Adlm-NG.mjs +2 -2
  1756. package/locales/ff-Adlm-SL.d.ts +1 -1
  1757. package/locales/ff-Adlm-SL.mjs +2 -2
  1758. package/locales/ff-Adlm-SN.d.ts +1 -1
  1759. package/locales/ff-Adlm-SN.mjs +2 -2
  1760. package/locales/ff-Adlm.d.ts +1 -1
  1761. package/locales/ff-Adlm.mjs +2 -2
  1762. package/locales/ff-CM.d.ts +1 -1
  1763. package/locales/ff-CM.mjs +2 -2
  1764. package/locales/ff-GN.d.ts +1 -1
  1765. package/locales/ff-GN.mjs +2 -2
  1766. package/locales/ff-Latn-BF.d.ts +1 -1
  1767. package/locales/ff-Latn-BF.mjs +2 -2
  1768. package/locales/ff-Latn-CM.d.ts +1 -1
  1769. package/locales/ff-Latn-CM.mjs +2 -2
  1770. package/locales/ff-Latn-GH.d.ts +1 -1
  1771. package/locales/ff-Latn-GH.mjs +2 -2
  1772. package/locales/ff-Latn-GM.d.ts +1 -1
  1773. package/locales/ff-Latn-GM.mjs +2 -2
  1774. package/locales/ff-Latn-GN.d.ts +1 -1
  1775. package/locales/ff-Latn-GN.mjs +2 -2
  1776. package/locales/ff-Latn-GW.d.ts +1 -1
  1777. package/locales/ff-Latn-GW.mjs +2 -2
  1778. package/locales/ff-Latn-LR.d.ts +1 -1
  1779. package/locales/ff-Latn-LR.mjs +2 -2
  1780. package/locales/ff-Latn-MR.d.ts +1 -1
  1781. package/locales/ff-Latn-MR.mjs +2 -2
  1782. package/locales/ff-Latn-NE.d.ts +1 -1
  1783. package/locales/ff-Latn-NE.mjs +2 -2
  1784. package/locales/ff-Latn-NG.d.ts +1 -1
  1785. package/locales/ff-Latn-NG.mjs +2 -2
  1786. package/locales/ff-Latn-SL.d.ts +1 -1
  1787. package/locales/ff-Latn-SL.mjs +2 -2
  1788. package/locales/ff-Latn.d.ts +1 -1
  1789. package/locales/ff-Latn.mjs +2 -2
  1790. package/locales/ff-MR.d.ts +1 -1
  1791. package/locales/ff-MR.mjs +2 -2
  1792. package/locales/ff.d.ts +1 -1
  1793. package/locales/ff.mjs +2 -2
  1794. package/locales/fi.d.ts +1 -1
  1795. package/locales/fi.mjs +2 -2
  1796. package/locales/fil.d.ts +1 -1
  1797. package/locales/fil.mjs +2 -2
  1798. package/locales/fo-DK.d.ts +1 -1
  1799. package/locales/fo-DK.mjs +2 -2
  1800. package/locales/fo.d.ts +1 -1
  1801. package/locales/fo.mjs +2 -2
  1802. package/locales/fr-BE.d.ts +1 -1
  1803. package/locales/fr-BE.mjs +2 -2
  1804. package/locales/fr-BF.d.ts +1 -1
  1805. package/locales/fr-BF.mjs +2 -2
  1806. package/locales/fr-BI.d.ts +1 -1
  1807. package/locales/fr-BI.mjs +2 -2
  1808. package/locales/fr-BJ.d.ts +1 -1
  1809. package/locales/fr-BJ.mjs +2 -2
  1810. package/locales/fr-BL.d.ts +1 -1
  1811. package/locales/fr-BL.mjs +2 -2
  1812. package/locales/fr-CA.d.ts +1 -1
  1813. package/locales/fr-CA.mjs +2 -2
  1814. package/locales/fr-CD.d.ts +1 -1
  1815. package/locales/fr-CD.mjs +2 -2
  1816. package/locales/fr-CF.d.ts +1 -1
  1817. package/locales/fr-CF.mjs +2 -2
  1818. package/locales/fr-CG.d.ts +1 -1
  1819. package/locales/fr-CG.mjs +2 -2
  1820. package/locales/fr-CH.d.ts +1 -1
  1821. package/locales/fr-CH.mjs +2 -2
  1822. package/locales/fr-CI.d.ts +1 -1
  1823. package/locales/fr-CI.mjs +2 -2
  1824. package/locales/fr-CM.d.ts +1 -1
  1825. package/locales/fr-CM.mjs +2 -2
  1826. package/locales/fr-DJ.d.ts +1 -1
  1827. package/locales/fr-DJ.mjs +2 -2
  1828. package/locales/fr-DZ.d.ts +1 -1
  1829. package/locales/fr-DZ.mjs +2 -2
  1830. package/locales/fr-GA.d.ts +1 -1
  1831. package/locales/fr-GA.mjs +2 -2
  1832. package/locales/fr-GF.d.ts +1 -1
  1833. package/locales/fr-GF.mjs +2 -2
  1834. package/locales/fr-GN.d.ts +1 -1
  1835. package/locales/fr-GN.mjs +2 -2
  1836. package/locales/fr-GP.d.ts +1 -1
  1837. package/locales/fr-GP.mjs +2 -2
  1838. package/locales/fr-GQ.d.ts +1 -1
  1839. package/locales/fr-GQ.mjs +2 -2
  1840. package/locales/fr-HT.d.ts +1 -1
  1841. package/locales/fr-HT.mjs +2 -2
  1842. package/locales/fr-KM.d.ts +1 -1
  1843. package/locales/fr-KM.mjs +2 -2
  1844. package/locales/fr-LU.d.ts +1 -1
  1845. package/locales/fr-LU.mjs +2 -2
  1846. package/locales/fr-MA.d.ts +1 -1
  1847. package/locales/fr-MA.mjs +2 -2
  1848. package/locales/fr-MC.d.ts +1 -1
  1849. package/locales/fr-MC.mjs +2 -2
  1850. package/locales/fr-MF.d.ts +1 -1
  1851. package/locales/fr-MF.mjs +2 -2
  1852. package/locales/fr-MG.d.ts +1 -1
  1853. package/locales/fr-MG.mjs +2 -2
  1854. package/locales/fr-ML.d.ts +1 -1
  1855. package/locales/fr-ML.mjs +2 -2
  1856. package/locales/fr-MQ.d.ts +1 -1
  1857. package/locales/fr-MQ.mjs +2 -2
  1858. package/locales/fr-MR.d.ts +1 -1
  1859. package/locales/fr-MR.mjs +2 -2
  1860. package/locales/fr-MU.d.ts +1 -1
  1861. package/locales/fr-MU.mjs +2 -2
  1862. package/locales/fr-NC.d.ts +1 -1
  1863. package/locales/fr-NC.mjs +2 -2
  1864. package/locales/fr-NE.d.ts +1 -1
  1865. package/locales/fr-NE.mjs +2 -2
  1866. package/locales/fr-PF.d.ts +1 -1
  1867. package/locales/fr-PF.mjs +2 -2
  1868. package/locales/fr-PM.d.ts +1 -1
  1869. package/locales/fr-PM.mjs +2 -2
  1870. package/locales/fr-RE.d.ts +1 -1
  1871. package/locales/fr-RE.mjs +2 -2
  1872. package/locales/fr-RW.d.ts +1 -1
  1873. package/locales/fr-RW.mjs +2 -2
  1874. package/locales/fr-SC.d.ts +1 -1
  1875. package/locales/fr-SC.mjs +2 -2
  1876. package/locales/fr-SN.d.ts +1 -1
  1877. package/locales/fr-SN.mjs +2 -2
  1878. package/locales/fr-SY.d.ts +1 -1
  1879. package/locales/fr-SY.mjs +2 -2
  1880. package/locales/fr-TD.d.ts +1 -1
  1881. package/locales/fr-TD.mjs +2 -2
  1882. package/locales/fr-TG.d.ts +1 -1
  1883. package/locales/fr-TG.mjs +2 -2
  1884. package/locales/fr-TN.d.ts +1 -1
  1885. package/locales/fr-TN.mjs +2 -2
  1886. package/locales/fr-VU.d.ts +1 -1
  1887. package/locales/fr-VU.mjs +2 -2
  1888. package/locales/fr-WF.d.ts +1 -1
  1889. package/locales/fr-WF.mjs +2 -2
  1890. package/locales/fr-YT.d.ts +1 -1
  1891. package/locales/fr-YT.mjs +2 -2
  1892. package/locales/fr.d.ts +1 -1
  1893. package/locales/fr.mjs +2 -2
  1894. package/locales/fur.d.ts +1 -1
  1895. package/locales/fur.mjs +2 -2
  1896. package/locales/fy.d.ts +1 -1
  1897. package/locales/fy.mjs +2 -2
  1898. package/locales/ga-GB.d.ts +1 -1
  1899. package/locales/ga-GB.mjs +2 -2
  1900. package/locales/ga.d.ts +1 -1
  1901. package/locales/ga.mjs +2 -2
  1902. package/locales/gd.d.ts +1 -1
  1903. package/locales/gd.mjs +2 -2
  1904. package/locales/gl.d.ts +1 -1
  1905. package/locales/gl.mjs +2 -2
  1906. package/locales/global/af-NA.js +1 -1
  1907. package/locales/global/af.js +1 -1
  1908. package/locales/global/agq.js +1 -1
  1909. package/locales/global/ak.js +1 -1
  1910. package/locales/global/am.js +1 -1
  1911. package/locales/global/ar-AE.js +1 -1
  1912. package/locales/global/ar-BH.js +1 -1
  1913. package/locales/global/ar-DJ.js +1 -1
  1914. package/locales/global/ar-DZ.js +1 -1
  1915. package/locales/global/ar-EG.js +1 -1
  1916. package/locales/global/ar-EH.js +1 -1
  1917. package/locales/global/ar-ER.js +1 -1
  1918. package/locales/global/ar-IL.js +1 -1
  1919. package/locales/global/ar-IQ.js +1 -1
  1920. package/locales/global/ar-JO.js +1 -1
  1921. package/locales/global/ar-KM.js +1 -1
  1922. package/locales/global/ar-KW.js +1 -1
  1923. package/locales/global/ar-LB.js +1 -1
  1924. package/locales/global/ar-LY.js +1 -1
  1925. package/locales/global/ar-MA.js +1 -1
  1926. package/locales/global/ar-MR.js +1 -1
  1927. package/locales/global/ar-OM.js +1 -1
  1928. package/locales/global/ar-PS.js +1 -1
  1929. package/locales/global/ar-QA.js +1 -1
  1930. package/locales/global/ar-SA.js +1 -1
  1931. package/locales/global/ar-SD.js +1 -1
  1932. package/locales/global/ar-SO.js +1 -1
  1933. package/locales/global/ar-SS.js +1 -1
  1934. package/locales/global/ar-SY.js +1 -1
  1935. package/locales/global/ar-TD.js +1 -1
  1936. package/locales/global/ar-TN.js +1 -1
  1937. package/locales/global/ar-YE.js +1 -1
  1938. package/locales/global/ar.js +1 -1
  1939. package/locales/global/as.js +1 -1
  1940. package/locales/global/asa.js +1 -1
  1941. package/locales/global/ast.js +1 -1
  1942. package/locales/global/az-Cyrl.js +1 -1
  1943. package/locales/global/az-Latn.js +1 -1
  1944. package/locales/global/az.js +1 -1
  1945. package/locales/global/bas.js +1 -1
  1946. package/locales/global/be-tarask.js +1 -1
  1947. package/locales/global/be.js +1 -1
  1948. package/locales/global/bem.js +1 -1
  1949. package/locales/global/bez.js +1 -1
  1950. package/locales/global/bg.js +1 -1
  1951. package/locales/global/bm.js +1 -1
  1952. package/locales/global/bn-IN.js +1 -1
  1953. package/locales/global/bn.js +1 -1
  1954. package/locales/global/bo-IN.js +1 -1
  1955. package/locales/global/bo.js +1 -1
  1956. package/locales/global/br.js +1 -1
  1957. package/locales/global/brx.js +1 -1
  1958. package/locales/global/bs-Cyrl.js +1 -1
  1959. package/locales/global/bs-Latn.js +1 -1
  1960. package/locales/global/bs.js +1 -1
  1961. package/locales/global/ca-AD.js +1 -1
  1962. package/locales/global/ca-ES-valencia.js +1 -1
  1963. package/locales/global/ca-FR.js +1 -1
  1964. package/locales/global/ca-IT.js +1 -1
  1965. package/locales/global/ca.js +1 -1
  1966. package/locales/global/ccp-IN.js +1 -1
  1967. package/locales/global/ccp.js +1 -1
  1968. package/locales/global/ce.js +1 -1
  1969. package/locales/global/ceb.js +1 -1
  1970. package/locales/global/cgg.js +1 -1
  1971. package/locales/global/chr.js +1 -1
  1972. package/locales/global/ckb-IR.js +1 -1
  1973. package/locales/global/ckb.js +1 -1
  1974. package/locales/global/cs.js +1 -1
  1975. package/locales/global/cy.js +1 -1
  1976. package/locales/global/da-GL.js +1 -1
  1977. package/locales/global/da.js +1 -1
  1978. package/locales/global/dav.js +1 -1
  1979. package/locales/global/de-AT.js +1 -1
  1980. package/locales/global/de-BE.js +1 -1
  1981. package/locales/global/de-CH.js +1 -1
  1982. package/locales/global/de-IT.js +1 -1
  1983. package/locales/global/de-LI.js +1 -1
  1984. package/locales/global/de-LU.js +1 -1
  1985. package/locales/global/de.js +1 -1
  1986. package/locales/global/dje.js +1 -1
  1987. package/locales/global/doi.js +1 -1
  1988. package/locales/global/dsb.js +1 -1
  1989. package/locales/global/dua.js +1 -1
  1990. package/locales/global/dyo.js +1 -1
  1991. package/locales/global/dz.js +1 -1
  1992. package/locales/global/ebu.js +1 -1
  1993. package/locales/global/ee-TG.js +1 -1
  1994. package/locales/global/ee.js +1 -1
  1995. package/locales/global/el-CY.js +1 -1
  1996. package/locales/global/el.js +1 -1
  1997. package/locales/global/en-001.js +1 -1
  1998. package/locales/global/en-150.js +1 -1
  1999. package/locales/global/en-AE.js +1 -1
  2000. package/locales/global/en-AG.js +1 -1
  2001. package/locales/global/en-AI.js +1 -1
  2002. package/locales/global/en-AS.js +1 -1
  2003. package/locales/global/en-AT.js +1 -1
  2004. package/locales/global/en-AU.js +1 -1
  2005. package/locales/global/en-BB.js +1 -1
  2006. package/locales/global/en-BE.js +1 -1
  2007. package/locales/global/en-BI.js +1 -1
  2008. package/locales/global/en-BM.js +1 -1
  2009. package/locales/global/en-BS.js +1 -1
  2010. package/locales/global/en-BW.js +1 -1
  2011. package/locales/global/en-BZ.js +1 -1
  2012. package/locales/global/en-CA.js +1 -1
  2013. package/locales/global/en-CC.js +1 -1
  2014. package/locales/global/en-CH.js +1 -1
  2015. package/locales/global/en-CK.js +1 -1
  2016. package/locales/global/en-CM.js +1 -1
  2017. package/locales/global/en-CX.js +1 -1
  2018. package/locales/global/en-CY.js +1 -1
  2019. package/locales/global/en-DE.js +1 -1
  2020. package/locales/global/en-DG.js +1 -1
  2021. package/locales/global/en-DK.js +1 -1
  2022. package/locales/global/en-DM.js +1 -1
  2023. package/locales/global/en-ER.js +1 -1
  2024. package/locales/global/en-FI.js +1 -1
  2025. package/locales/global/en-FJ.js +1 -1
  2026. package/locales/global/en-FK.js +1 -1
  2027. package/locales/global/en-FM.js +1 -1
  2028. package/locales/global/en-GB.js +1 -1
  2029. package/locales/global/en-GD.js +1 -1
  2030. package/locales/global/en-GG.js +1 -1
  2031. package/locales/global/en-GH.js +1 -1
  2032. package/locales/global/en-GI.js +1 -1
  2033. package/locales/global/en-GM.js +1 -1
  2034. package/locales/global/en-GU.js +1 -1
  2035. package/locales/global/en-GY.js +1 -1
  2036. package/locales/global/en-HK.js +1 -1
  2037. package/locales/global/en-IE.js +1 -1
  2038. package/locales/global/en-IL.js +1 -1
  2039. package/locales/global/en-IM.js +1 -1
  2040. package/locales/global/en-IN.js +1 -1
  2041. package/locales/global/en-IO.js +1 -1
  2042. package/locales/global/en-JE.js +1 -1
  2043. package/locales/global/en-JM.js +1 -1
  2044. package/locales/global/en-KE.js +1 -1
  2045. package/locales/global/en-KI.js +1 -1
  2046. package/locales/global/en-KN.js +1 -1
  2047. package/locales/global/en-KY.js +1 -1
  2048. package/locales/global/en-LC.js +1 -1
  2049. package/locales/global/en-LR.js +1 -1
  2050. package/locales/global/en-LS.js +1 -1
  2051. package/locales/global/en-MG.js +1 -1
  2052. package/locales/global/en-MH.js +1 -1
  2053. package/locales/global/en-MO.js +1 -1
  2054. package/locales/global/en-MP.js +1 -1
  2055. package/locales/global/en-MS.js +1 -1
  2056. package/locales/global/en-MT.js +1 -1
  2057. package/locales/global/en-MU.js +1 -1
  2058. package/locales/global/en-MV.js +1 -1
  2059. package/locales/global/en-MW.js +1 -1
  2060. package/locales/global/en-MY.js +1 -1
  2061. package/locales/global/en-NA.js +1 -1
  2062. package/locales/global/en-NF.js +1 -1
  2063. package/locales/global/en-NG.js +1 -1
  2064. package/locales/global/en-NL.js +1 -1
  2065. package/locales/global/en-NR.js +1 -1
  2066. package/locales/global/en-NU.js +1 -1
  2067. package/locales/global/en-NZ.js +1 -1
  2068. package/locales/global/en-PG.js +1 -1
  2069. package/locales/global/en-PH.js +1 -1
  2070. package/locales/global/en-PK.js +1 -1
  2071. package/locales/global/en-PN.js +1 -1
  2072. package/locales/global/en-PR.js +1 -1
  2073. package/locales/global/en-PW.js +1 -1
  2074. package/locales/global/en-RW.js +1 -1
  2075. package/locales/global/en-SB.js +1 -1
  2076. package/locales/global/en-SC.js +1 -1
  2077. package/locales/global/en-SD.js +1 -1
  2078. package/locales/global/en-SE.js +1 -1
  2079. package/locales/global/en-SG.js +1 -1
  2080. package/locales/global/en-SH.js +1 -1
  2081. package/locales/global/en-SI.js +1 -1
  2082. package/locales/global/en-SL.js +1 -1
  2083. package/locales/global/en-SS.js +1 -1
  2084. package/locales/global/en-SX.js +1 -1
  2085. package/locales/global/en-SZ.js +1 -1
  2086. package/locales/global/en-TC.js +1 -1
  2087. package/locales/global/en-TK.js +1 -1
  2088. package/locales/global/en-TO.js +1 -1
  2089. package/locales/global/en-TT.js +1 -1
  2090. package/locales/global/en-TV.js +1 -1
  2091. package/locales/global/en-TZ.js +1 -1
  2092. package/locales/global/en-UG.js +1 -1
  2093. package/locales/global/en-UM.js +1 -1
  2094. package/locales/global/en-VC.js +1 -1
  2095. package/locales/global/en-VG.js +1 -1
  2096. package/locales/global/en-VI.js +1 -1
  2097. package/locales/global/en-VU.js +1 -1
  2098. package/locales/global/en-WS.js +1 -1
  2099. package/locales/global/en-ZA.js +1 -1
  2100. package/locales/global/en-ZM.js +1 -1
  2101. package/locales/global/en-ZW.js +1 -1
  2102. package/locales/global/en.js +1 -1
  2103. package/locales/global/eo.js +1 -1
  2104. package/locales/global/es-419.js +1 -1
  2105. package/locales/global/es-AR.js +1 -1
  2106. package/locales/global/es-BO.js +1 -1
  2107. package/locales/global/es-BR.js +1 -1
  2108. package/locales/global/es-BZ.js +1 -1
  2109. package/locales/global/es-CL.js +1 -1
  2110. package/locales/global/es-CO.js +1 -1
  2111. package/locales/global/es-CR.js +1 -1
  2112. package/locales/global/es-CU.js +1 -1
  2113. package/locales/global/es-DO.js +1 -1
  2114. package/locales/global/es-EA.js +1 -1
  2115. package/locales/global/es-EC.js +1 -1
  2116. package/locales/global/es-GQ.js +1 -1
  2117. package/locales/global/es-GT.js +1 -1
  2118. package/locales/global/es-HN.js +1 -1
  2119. package/locales/global/es-IC.js +1 -1
  2120. package/locales/global/es-MX.js +1 -1
  2121. package/locales/global/es-NI.js +1 -1
  2122. package/locales/global/es-PA.js +1 -1
  2123. package/locales/global/es-PE.js +1 -1
  2124. package/locales/global/es-PH.js +1 -1
  2125. package/locales/global/es-PR.js +1 -1
  2126. package/locales/global/es-PY.js +1 -1
  2127. package/locales/global/es-SV.js +1 -1
  2128. package/locales/global/es-US.js +1 -1
  2129. package/locales/global/es-UY.js +1 -1
  2130. package/locales/global/es-VE.js +1 -1
  2131. package/locales/global/es.js +1 -1
  2132. package/locales/global/et.js +1 -1
  2133. package/locales/global/eu.js +1 -1
  2134. package/locales/global/ewo.js +1 -1
  2135. package/locales/global/fa-AF.js +1 -1
  2136. package/locales/global/fa.js +1 -1
  2137. package/locales/global/ff-Adlm-BF.js +1 -1
  2138. package/locales/global/ff-Adlm-CM.js +1 -1
  2139. package/locales/global/ff-Adlm-GH.js +1 -1
  2140. package/locales/global/ff-Adlm-GM.js +1 -1
  2141. package/locales/global/ff-Adlm-GW.js +1 -1
  2142. package/locales/global/ff-Adlm-LR.js +1 -1
  2143. package/locales/global/ff-Adlm-MR.js +1 -1
  2144. package/locales/global/ff-Adlm-NE.js +1 -1
  2145. package/locales/global/ff-Adlm-NG.js +1 -1
  2146. package/locales/global/ff-Adlm-SL.js +1 -1
  2147. package/locales/global/ff-Adlm-SN.js +1 -1
  2148. package/locales/global/ff-Adlm.js +1 -1
  2149. package/locales/global/ff-CM.js +1 -1
  2150. package/locales/global/ff-GN.js +1 -1
  2151. package/locales/global/ff-Latn-BF.js +1 -1
  2152. package/locales/global/ff-Latn-CM.js +1 -1
  2153. package/locales/global/ff-Latn-GH.js +1 -1
  2154. package/locales/global/ff-Latn-GM.js +1 -1
  2155. package/locales/global/ff-Latn-GN.js +1 -1
  2156. package/locales/global/ff-Latn-GW.js +1 -1
  2157. package/locales/global/ff-Latn-LR.js +1 -1
  2158. package/locales/global/ff-Latn-MR.js +1 -1
  2159. package/locales/global/ff-Latn-NE.js +1 -1
  2160. package/locales/global/ff-Latn-NG.js +1 -1
  2161. package/locales/global/ff-Latn-SL.js +1 -1
  2162. package/locales/global/ff-Latn.js +1 -1
  2163. package/locales/global/ff-MR.js +1 -1
  2164. package/locales/global/ff.js +1 -1
  2165. package/locales/global/fi.js +1 -1
  2166. package/locales/global/fil.js +1 -1
  2167. package/locales/global/fo-DK.js +1 -1
  2168. package/locales/global/fo.js +1 -1
  2169. package/locales/global/fr-BE.js +1 -1
  2170. package/locales/global/fr-BF.js +1 -1
  2171. package/locales/global/fr-BI.js +1 -1
  2172. package/locales/global/fr-BJ.js +1 -1
  2173. package/locales/global/fr-BL.js +1 -1
  2174. package/locales/global/fr-CA.js +1 -1
  2175. package/locales/global/fr-CD.js +1 -1
  2176. package/locales/global/fr-CF.js +1 -1
  2177. package/locales/global/fr-CG.js +1 -1
  2178. package/locales/global/fr-CH.js +1 -1
  2179. package/locales/global/fr-CI.js +1 -1
  2180. package/locales/global/fr-CM.js +1 -1
  2181. package/locales/global/fr-DJ.js +1 -1
  2182. package/locales/global/fr-DZ.js +1 -1
  2183. package/locales/global/fr-GA.js +1 -1
  2184. package/locales/global/fr-GF.js +1 -1
  2185. package/locales/global/fr-GN.js +1 -1
  2186. package/locales/global/fr-GP.js +1 -1
  2187. package/locales/global/fr-GQ.js +1 -1
  2188. package/locales/global/fr-HT.js +1 -1
  2189. package/locales/global/fr-KM.js +1 -1
  2190. package/locales/global/fr-LU.js +1 -1
  2191. package/locales/global/fr-MA.js +1 -1
  2192. package/locales/global/fr-MC.js +1 -1
  2193. package/locales/global/fr-MF.js +1 -1
  2194. package/locales/global/fr-MG.js +1 -1
  2195. package/locales/global/fr-ML.js +1 -1
  2196. package/locales/global/fr-MQ.js +1 -1
  2197. package/locales/global/fr-MR.js +1 -1
  2198. package/locales/global/fr-MU.js +1 -1
  2199. package/locales/global/fr-NC.js +1 -1
  2200. package/locales/global/fr-NE.js +1 -1
  2201. package/locales/global/fr-PF.js +1 -1
  2202. package/locales/global/fr-PM.js +1 -1
  2203. package/locales/global/fr-RE.js +1 -1
  2204. package/locales/global/fr-RW.js +1 -1
  2205. package/locales/global/fr-SC.js +1 -1
  2206. package/locales/global/fr-SN.js +1 -1
  2207. package/locales/global/fr-SY.js +1 -1
  2208. package/locales/global/fr-TD.js +1 -1
  2209. package/locales/global/fr-TG.js +1 -1
  2210. package/locales/global/fr-TN.js +1 -1
  2211. package/locales/global/fr-VU.js +1 -1
  2212. package/locales/global/fr-WF.js +1 -1
  2213. package/locales/global/fr-YT.js +1 -1
  2214. package/locales/global/fr.js +1 -1
  2215. package/locales/global/fur.js +1 -1
  2216. package/locales/global/fy.js +1 -1
  2217. package/locales/global/ga-GB.js +1 -1
  2218. package/locales/global/ga.js +1 -1
  2219. package/locales/global/gd.js +1 -1
  2220. package/locales/global/gl.js +1 -1
  2221. package/locales/global/gsw-FR.js +1 -1
  2222. package/locales/global/gsw-LI.js +1 -1
  2223. package/locales/global/gsw.js +1 -1
  2224. package/locales/global/gu.js +1 -1
  2225. package/locales/global/guz.js +1 -1
  2226. package/locales/global/gv.js +1 -1
  2227. package/locales/global/ha-GH.js +1 -1
  2228. package/locales/global/ha-NE.js +1 -1
  2229. package/locales/global/ha.js +1 -1
  2230. package/locales/global/haw.js +1 -1
  2231. package/locales/global/he.js +1 -1
  2232. package/locales/global/hi-Latn.js +1 -1
  2233. package/locales/global/hi.js +1 -1
  2234. package/locales/global/hr-BA.js +1 -1
  2235. package/locales/global/hr.js +1 -1
  2236. package/locales/global/hsb.js +1 -1
  2237. package/locales/global/hu.js +1 -1
  2238. package/locales/global/hy.js +1 -1
  2239. package/locales/global/ia.js +1 -1
  2240. package/locales/global/id.js +1 -1
  2241. package/locales/global/ig.js +1 -1
  2242. package/locales/global/ii.js +1 -1
  2243. package/locales/global/is.js +1 -1
  2244. package/locales/global/it-CH.js +1 -1
  2245. package/locales/global/it-SM.js +1 -1
  2246. package/locales/global/it-VA.js +1 -1
  2247. package/locales/global/it.js +1 -1
  2248. package/locales/global/ja.js +1 -1
  2249. package/locales/global/jgo.js +1 -1
  2250. package/locales/global/jmc.js +1 -1
  2251. package/locales/global/jv.js +1 -1
  2252. package/locales/global/ka.js +1 -1
  2253. package/locales/global/kab.js +1 -1
  2254. package/locales/global/kam.js +1 -1
  2255. package/locales/global/kde.js +1 -1
  2256. package/locales/global/kea.js +1 -1
  2257. package/locales/global/kgp.js +1 -1
  2258. package/locales/global/khq.js +1 -1
  2259. package/locales/global/ki.js +1 -1
  2260. package/locales/global/kk.js +1 -1
  2261. package/locales/global/kkj.js +1 -1
  2262. package/locales/global/kl.js +1 -1
  2263. package/locales/global/kln.js +1 -1
  2264. package/locales/global/km.js +1 -1
  2265. package/locales/global/kn.js +1 -1
  2266. package/locales/global/ko-KP.js +1 -1
  2267. package/locales/global/ko.js +1 -1
  2268. package/locales/global/kok.js +1 -1
  2269. package/locales/global/ks-Arab.js +1 -1
  2270. package/locales/global/ks-Deva.js +1 -1
  2271. package/locales/global/ks.js +1 -1
  2272. package/locales/global/ksb.js +1 -1
  2273. package/locales/global/ksf.js +1 -1
  2274. package/locales/global/ksh.js +1 -1
  2275. package/locales/global/ku.js +1 -1
  2276. package/locales/global/kw.js +1 -1
  2277. package/locales/global/ky.js +1 -1
  2278. package/locales/global/lag.js +1 -1
  2279. package/locales/global/lb.js +1 -1
  2280. package/locales/global/lg.js +1 -1
  2281. package/locales/global/lkt.js +1 -1
  2282. package/locales/global/ln-AO.js +1 -1
  2283. package/locales/global/ln-CF.js +1 -1
  2284. package/locales/global/ln-CG.js +1 -1
  2285. package/locales/global/ln.js +1 -1
  2286. package/locales/global/lo.js +1 -1
  2287. package/locales/global/lrc-IQ.js +1 -1
  2288. package/locales/global/lrc.js +1 -1
  2289. package/locales/global/lt.js +1 -1
  2290. package/locales/global/lu.js +1 -1
  2291. package/locales/global/luo.js +1 -1
  2292. package/locales/global/luy.js +1 -1
  2293. package/locales/global/lv.js +1 -1
  2294. package/locales/global/mai.js +1 -1
  2295. package/locales/global/mas-TZ.js +1 -1
  2296. package/locales/global/mas.js +1 -1
  2297. package/locales/global/mer.js +1 -1
  2298. package/locales/global/mfe.js +1 -1
  2299. package/locales/global/mg.js +1 -1
  2300. package/locales/global/mgh.js +1 -1
  2301. package/locales/global/mgo.js +1 -1
  2302. package/locales/global/mi.js +1 -1
  2303. package/locales/global/mk.js +1 -1
  2304. package/locales/global/ml.js +1 -1
  2305. package/locales/global/mn.js +1 -1
  2306. package/locales/global/mni-Beng.js +1 -1
  2307. package/locales/global/mni.js +1 -1
  2308. package/locales/global/mr.js +1 -1
  2309. package/locales/global/ms-BN.js +1 -1
  2310. package/locales/global/ms-ID.js +1 -1
  2311. package/locales/global/ms-SG.js +1 -1
  2312. package/locales/global/ms.js +1 -1
  2313. package/locales/global/mt.js +1 -1
  2314. package/locales/global/mua.js +1 -1
  2315. package/locales/global/my.js +1 -1
  2316. package/locales/global/mzn.js +1 -1
  2317. package/locales/global/naq.js +1 -1
  2318. package/locales/global/nb-SJ.js +1 -1
  2319. package/locales/global/nb.js +1 -1
  2320. package/locales/global/nd.js +1 -1
  2321. package/locales/global/nds-NL.js +1 -1
  2322. package/locales/global/nds.js +1 -1
  2323. package/locales/global/ne-IN.js +1 -1
  2324. package/locales/global/ne.js +1 -1
  2325. package/locales/global/nl-AW.js +1 -1
  2326. package/locales/global/nl-BE.js +1 -1
  2327. package/locales/global/nl-BQ.js +1 -1
  2328. package/locales/global/nl-CW.js +1 -1
  2329. package/locales/global/nl-SR.js +1 -1
  2330. package/locales/global/nl-SX.js +1 -1
  2331. package/locales/global/nl.js +1 -1
  2332. package/locales/global/nmg.js +1 -1
  2333. package/locales/global/nn.js +1 -1
  2334. package/locales/global/nnh.js +1 -1
  2335. package/locales/global/no.js +1 -1
  2336. package/locales/global/nus.js +1 -1
  2337. package/locales/global/nyn.js +1 -1
  2338. package/locales/global/om-KE.js +1 -1
  2339. package/locales/global/om.js +1 -1
  2340. package/locales/global/or.js +1 -1
  2341. package/locales/global/os-RU.js +1 -1
  2342. package/locales/global/os.js +1 -1
  2343. package/locales/global/pa-Arab.js +1 -1
  2344. package/locales/global/pa-Guru.js +1 -1
  2345. package/locales/global/pa.js +1 -1
  2346. package/locales/global/pcm.js +1 -1
  2347. package/locales/global/pl.js +1 -1
  2348. package/locales/global/ps-PK.js +1 -1
  2349. package/locales/global/ps.js +1 -1
  2350. package/locales/global/pt-AO.js +1 -1
  2351. package/locales/global/pt-CH.js +1 -1
  2352. package/locales/global/pt-CV.js +1 -1
  2353. package/locales/global/pt-GQ.js +1 -1
  2354. package/locales/global/pt-GW.js +1 -1
  2355. package/locales/global/pt-LU.js +1 -1
  2356. package/locales/global/pt-MO.js +1 -1
  2357. package/locales/global/pt-MZ.js +1 -1
  2358. package/locales/global/pt-PT.js +1 -1
  2359. package/locales/global/pt-ST.js +1 -1
  2360. package/locales/global/pt-TL.js +1 -1
  2361. package/locales/global/pt.js +1 -1
  2362. package/locales/global/qu-BO.js +1 -1
  2363. package/locales/global/qu-EC.js +1 -1
  2364. package/locales/global/qu.js +1 -1
  2365. package/locales/global/rm.js +1 -1
  2366. package/locales/global/rn.js +1 -1
  2367. package/locales/global/ro-MD.js +1 -1
  2368. package/locales/global/ro.js +1 -1
  2369. package/locales/global/rof.js +1 -1
  2370. package/locales/global/ru-BY.js +1 -1
  2371. package/locales/global/ru-KG.js +1 -1
  2372. package/locales/global/ru-KZ.js +1 -1
  2373. package/locales/global/ru-MD.js +1 -1
  2374. package/locales/global/ru-UA.js +1 -1
  2375. package/locales/global/ru.js +1 -1
  2376. package/locales/global/rw.js +1 -1
  2377. package/locales/global/rwk.js +1 -1
  2378. package/locales/global/sa.js +1 -1
  2379. package/locales/global/sah.js +1 -1
  2380. package/locales/global/saq.js +1 -1
  2381. package/locales/global/sat-Olck.js +1 -1
  2382. package/locales/global/sat.js +1 -1
  2383. package/locales/global/sbp.js +1 -1
  2384. package/locales/global/sc.js +1 -1
  2385. package/locales/global/sd-Arab.js +1 -1
  2386. package/locales/global/sd-Deva.js +1 -1
  2387. package/locales/global/sd.js +1 -1
  2388. package/locales/global/se-FI.js +1 -1
  2389. package/locales/global/se-SE.js +1 -1
  2390. package/locales/global/se.js +1 -1
  2391. package/locales/global/seh.js +1 -1
  2392. package/locales/global/ses.js +1 -1
  2393. package/locales/global/sg.js +1 -1
  2394. package/locales/global/shi-Latn.js +1 -1
  2395. package/locales/global/shi-Tfng.js +1 -1
  2396. package/locales/global/shi.js +1 -1
  2397. package/locales/global/si.js +1 -1
  2398. package/locales/global/sk.js +1 -1
  2399. package/locales/global/sl.js +1 -1
  2400. package/locales/global/smn.js +1 -1
  2401. package/locales/global/sn.js +1 -1
  2402. package/locales/global/so-DJ.js +1 -1
  2403. package/locales/global/so-ET.js +1 -1
  2404. package/locales/global/so-KE.js +1 -1
  2405. package/locales/global/so.js +1 -1
  2406. package/locales/global/sq-MK.js +1 -1
  2407. package/locales/global/sq-XK.js +1 -1
  2408. package/locales/global/sq.js +1 -1
  2409. package/locales/global/sr-Cyrl-BA.js +1 -1
  2410. package/locales/global/sr-Cyrl-ME.js +1 -1
  2411. package/locales/global/sr-Cyrl-XK.js +1 -1
  2412. package/locales/global/sr-Cyrl.js +1 -1
  2413. package/locales/global/sr-Latn-BA.js +1 -1
  2414. package/locales/global/sr-Latn-ME.js +1 -1
  2415. package/locales/global/sr-Latn-XK.js +1 -1
  2416. package/locales/global/sr-Latn.js +1 -1
  2417. package/locales/global/sr.js +1 -1
  2418. package/locales/global/su-Latn.js +1 -1
  2419. package/locales/global/su.js +1 -1
  2420. package/locales/global/sv-AX.js +1 -1
  2421. package/locales/global/sv-FI.js +1 -1
  2422. package/locales/global/sv.js +1 -1
  2423. package/locales/global/sw-CD.js +1 -1
  2424. package/locales/global/sw-KE.js +1 -1
  2425. package/locales/global/sw-UG.js +1 -1
  2426. package/locales/global/sw.js +1 -1
  2427. package/locales/global/ta-LK.js +1 -1
  2428. package/locales/global/ta-MY.js +1 -1
  2429. package/locales/global/ta-SG.js +1 -1
  2430. package/locales/global/ta.js +1 -1
  2431. package/locales/global/te.js +1 -1
  2432. package/locales/global/teo-KE.js +1 -1
  2433. package/locales/global/teo.js +1 -1
  2434. package/locales/global/tg.js +1 -1
  2435. package/locales/global/th.js +1 -1
  2436. package/locales/global/ti-ER.js +1 -1
  2437. package/locales/global/ti.js +1 -1
  2438. package/locales/global/tk.js +1 -1
  2439. package/locales/global/to.js +1 -1
  2440. package/locales/global/tr-CY.js +1 -1
  2441. package/locales/global/tr.js +1 -1
  2442. package/locales/global/tt.js +1 -1
  2443. package/locales/global/twq.js +1 -1
  2444. package/locales/global/tzm.js +1 -1
  2445. package/locales/global/ug.js +1 -1
  2446. package/locales/global/uk.js +1 -1
  2447. package/locales/global/und.js +1 -1
  2448. package/locales/global/ur-IN.js +1 -1
  2449. package/locales/global/ur.js +1 -1
  2450. package/locales/global/uz-Arab.js +1 -1
  2451. package/locales/global/uz-Cyrl.js +1 -1
  2452. package/locales/global/uz-Latn.js +1 -1
  2453. package/locales/global/uz.js +1 -1
  2454. package/locales/global/vai-Latn.js +1 -1
  2455. package/locales/global/vai-Vaii.js +1 -1
  2456. package/locales/global/vai.js +1 -1
  2457. package/locales/global/vi.js +1 -1
  2458. package/locales/global/vun.js +1 -1
  2459. package/locales/global/wae.js +1 -1
  2460. package/locales/global/wo.js +1 -1
  2461. package/locales/global/xh.js +1 -1
  2462. package/locales/global/xog.js +1 -1
  2463. package/locales/global/yav.js +1 -1
  2464. package/locales/global/yi.js +1 -1
  2465. package/locales/global/yo-BJ.js +1 -1
  2466. package/locales/global/yo.js +1 -1
  2467. package/locales/global/yrl-CO.js +1 -1
  2468. package/locales/global/yrl-VE.js +1 -1
  2469. package/locales/global/yrl.js +1 -1
  2470. package/locales/global/yue-Hans.js +1 -1
  2471. package/locales/global/yue-Hant.js +1 -1
  2472. package/locales/global/yue.js +1 -1
  2473. package/locales/global/zgh.js +1 -1
  2474. package/locales/global/zh-Hans-HK.js +1 -1
  2475. package/locales/global/zh-Hans-MO.js +1 -1
  2476. package/locales/global/zh-Hans-SG.js +1 -1
  2477. package/locales/global/zh-Hans.js +1 -1
  2478. package/locales/global/zh-Hant-HK.js +1 -1
  2479. package/locales/global/zh-Hant-MO.js +1 -1
  2480. package/locales/global/zh-Hant.js +1 -1
  2481. package/locales/global/zh.js +1 -1
  2482. package/locales/global/zu.js +1 -1
  2483. package/locales/gsw-FR.d.ts +1 -1
  2484. package/locales/gsw-FR.mjs +2 -2
  2485. package/locales/gsw-LI.d.ts +1 -1
  2486. package/locales/gsw-LI.mjs +2 -2
  2487. package/locales/gsw.d.ts +1 -1
  2488. package/locales/gsw.mjs +2 -2
  2489. package/locales/gu.d.ts +1 -1
  2490. package/locales/gu.mjs +2 -2
  2491. package/locales/guz.d.ts +1 -1
  2492. package/locales/guz.mjs +2 -2
  2493. package/locales/gv.d.ts +1 -1
  2494. package/locales/gv.mjs +2 -2
  2495. package/locales/ha-GH.d.ts +1 -1
  2496. package/locales/ha-GH.mjs +2 -2
  2497. package/locales/ha-NE.d.ts +1 -1
  2498. package/locales/ha-NE.mjs +2 -2
  2499. package/locales/ha.d.ts +1 -1
  2500. package/locales/ha.mjs +2 -2
  2501. package/locales/haw.d.ts +1 -1
  2502. package/locales/haw.mjs +2 -2
  2503. package/locales/he.d.ts +1 -1
  2504. package/locales/he.mjs +2 -2
  2505. package/locales/hi-Latn.d.ts +1 -1
  2506. package/locales/hi-Latn.mjs +2 -2
  2507. package/locales/hi.d.ts +1 -1
  2508. package/locales/hi.mjs +2 -2
  2509. package/locales/hr-BA.d.ts +1 -1
  2510. package/locales/hr-BA.mjs +2 -2
  2511. package/locales/hr.d.ts +1 -1
  2512. package/locales/hr.mjs +2 -2
  2513. package/locales/hsb.d.ts +1 -1
  2514. package/locales/hsb.mjs +2 -2
  2515. package/locales/hu.d.ts +1 -1
  2516. package/locales/hu.mjs +2 -2
  2517. package/locales/hy.d.ts +1 -1
  2518. package/locales/hy.mjs +2 -2
  2519. package/locales/ia.d.ts +1 -1
  2520. package/locales/ia.mjs +2 -2
  2521. package/locales/id.d.ts +1 -1
  2522. package/locales/id.mjs +2 -2
  2523. package/locales/ig.d.ts +1 -1
  2524. package/locales/ig.mjs +2 -2
  2525. package/locales/ii.d.ts +1 -1
  2526. package/locales/ii.mjs +2 -2
  2527. package/locales/is.d.ts +1 -1
  2528. package/locales/is.mjs +2 -2
  2529. package/locales/it-CH.d.ts +1 -1
  2530. package/locales/it-CH.mjs +2 -2
  2531. package/locales/it-SM.d.ts +1 -1
  2532. package/locales/it-SM.mjs +2 -2
  2533. package/locales/it-VA.d.ts +1 -1
  2534. package/locales/it-VA.mjs +2 -2
  2535. package/locales/it.d.ts +1 -1
  2536. package/locales/it.mjs +2 -2
  2537. package/locales/ja.d.ts +1 -1
  2538. package/locales/ja.mjs +2 -2
  2539. package/locales/jgo.d.ts +1 -1
  2540. package/locales/jgo.mjs +2 -2
  2541. package/locales/jmc.d.ts +1 -1
  2542. package/locales/jmc.mjs +2 -2
  2543. package/locales/jv.d.ts +1 -1
  2544. package/locales/jv.mjs +2 -2
  2545. package/locales/ka.d.ts +1 -1
  2546. package/locales/ka.mjs +2 -2
  2547. package/locales/kab.d.ts +1 -1
  2548. package/locales/kab.mjs +2 -2
  2549. package/locales/kam.d.ts +1 -1
  2550. package/locales/kam.mjs +2 -2
  2551. package/locales/kde.d.ts +1 -1
  2552. package/locales/kde.mjs +2 -2
  2553. package/locales/kea.d.ts +1 -1
  2554. package/locales/kea.mjs +2 -2
  2555. package/locales/kgp.d.ts +1 -1
  2556. package/locales/kgp.mjs +2 -2
  2557. package/locales/khq.d.ts +1 -1
  2558. package/locales/khq.mjs +2 -2
  2559. package/locales/ki.d.ts +1 -1
  2560. package/locales/ki.mjs +2 -2
  2561. package/locales/kk.d.ts +1 -1
  2562. package/locales/kk.mjs +2 -2
  2563. package/locales/kkj.d.ts +1 -1
  2564. package/locales/kkj.mjs +2 -2
  2565. package/locales/kl.d.ts +1 -1
  2566. package/locales/kl.mjs +2 -2
  2567. package/locales/kln.d.ts +1 -1
  2568. package/locales/kln.mjs +2 -2
  2569. package/locales/km.d.ts +1 -1
  2570. package/locales/km.mjs +2 -2
  2571. package/locales/kn.d.ts +1 -1
  2572. package/locales/kn.mjs +2 -2
  2573. package/locales/ko-KP.d.ts +1 -1
  2574. package/locales/ko-KP.mjs +2 -2
  2575. package/locales/ko.d.ts +1 -1
  2576. package/locales/ko.mjs +2 -2
  2577. package/locales/kok.d.ts +1 -1
  2578. package/locales/kok.mjs +2 -2
  2579. package/locales/ks-Arab.d.ts +1 -1
  2580. package/locales/ks-Arab.mjs +2 -2
  2581. package/locales/ks-Deva.d.ts +1 -1
  2582. package/locales/ks-Deva.mjs +2 -2
  2583. package/locales/ks.d.ts +1 -1
  2584. package/locales/ks.mjs +2 -2
  2585. package/locales/ksb.d.ts +1 -1
  2586. package/locales/ksb.mjs +2 -2
  2587. package/locales/ksf.d.ts +1 -1
  2588. package/locales/ksf.mjs +2 -2
  2589. package/locales/ksh.d.ts +1 -1
  2590. package/locales/ksh.mjs +2 -2
  2591. package/locales/ku.d.ts +1 -1
  2592. package/locales/ku.mjs +2 -2
  2593. package/locales/kw.d.ts +1 -1
  2594. package/locales/kw.mjs +2 -2
  2595. package/locales/ky.d.ts +1 -1
  2596. package/locales/ky.mjs +2 -2
  2597. package/locales/lag.d.ts +1 -1
  2598. package/locales/lag.mjs +2 -2
  2599. package/locales/lb.d.ts +1 -1
  2600. package/locales/lb.mjs +2 -2
  2601. package/locales/lg.d.ts +1 -1
  2602. package/locales/lg.mjs +2 -2
  2603. package/locales/lkt.d.ts +1 -1
  2604. package/locales/lkt.mjs +2 -2
  2605. package/locales/ln-AO.d.ts +1 -1
  2606. package/locales/ln-AO.mjs +2 -2
  2607. package/locales/ln-CF.d.ts +1 -1
  2608. package/locales/ln-CF.mjs +2 -2
  2609. package/locales/ln-CG.d.ts +1 -1
  2610. package/locales/ln-CG.mjs +2 -2
  2611. package/locales/ln.d.ts +1 -1
  2612. package/locales/ln.mjs +2 -2
  2613. package/locales/lo.d.ts +1 -1
  2614. package/locales/lo.mjs +2 -2
  2615. package/locales/lrc-IQ.d.ts +1 -1
  2616. package/locales/lrc-IQ.mjs +2 -2
  2617. package/locales/lrc.d.ts +1 -1
  2618. package/locales/lrc.mjs +2 -2
  2619. package/locales/lt.d.ts +1 -1
  2620. package/locales/lt.mjs +2 -2
  2621. package/locales/lu.d.ts +1 -1
  2622. package/locales/lu.mjs +2 -2
  2623. package/locales/luo.d.ts +1 -1
  2624. package/locales/luo.mjs +2 -2
  2625. package/locales/luy.d.ts +1 -1
  2626. package/locales/luy.mjs +2 -2
  2627. package/locales/lv.d.ts +1 -1
  2628. package/locales/lv.mjs +2 -2
  2629. package/locales/mai.d.ts +1 -1
  2630. package/locales/mai.mjs +2 -2
  2631. package/locales/mas-TZ.d.ts +1 -1
  2632. package/locales/mas-TZ.mjs +2 -2
  2633. package/locales/mas.d.ts +1 -1
  2634. package/locales/mas.mjs +2 -2
  2635. package/locales/mer.d.ts +1 -1
  2636. package/locales/mer.mjs +2 -2
  2637. package/locales/mfe.d.ts +1 -1
  2638. package/locales/mfe.mjs +2 -2
  2639. package/locales/mg.d.ts +1 -1
  2640. package/locales/mg.mjs +2 -2
  2641. package/locales/mgh.d.ts +1 -1
  2642. package/locales/mgh.mjs +2 -2
  2643. package/locales/mgo.d.ts +1 -1
  2644. package/locales/mgo.mjs +2 -2
  2645. package/locales/mi.d.ts +1 -1
  2646. package/locales/mi.mjs +2 -2
  2647. package/locales/mk.d.ts +1 -1
  2648. package/locales/mk.mjs +2 -2
  2649. package/locales/ml.d.ts +1 -1
  2650. package/locales/ml.mjs +2 -2
  2651. package/locales/mn.d.ts +1 -1
  2652. package/locales/mn.mjs +2 -2
  2653. package/locales/mni-Beng.d.ts +1 -1
  2654. package/locales/mni-Beng.mjs +2 -2
  2655. package/locales/mni.d.ts +1 -1
  2656. package/locales/mni.mjs +2 -2
  2657. package/locales/mr.d.ts +1 -1
  2658. package/locales/mr.mjs +2 -2
  2659. package/locales/ms-BN.d.ts +1 -1
  2660. package/locales/ms-BN.mjs +2 -2
  2661. package/locales/ms-ID.d.ts +1 -1
  2662. package/locales/ms-ID.mjs +2 -2
  2663. package/locales/ms-SG.d.ts +1 -1
  2664. package/locales/ms-SG.mjs +2 -2
  2665. package/locales/ms.d.ts +1 -1
  2666. package/locales/ms.mjs +2 -2
  2667. package/locales/mt.d.ts +1 -1
  2668. package/locales/mt.mjs +2 -2
  2669. package/locales/mua.d.ts +1 -1
  2670. package/locales/mua.mjs +2 -2
  2671. package/locales/my.d.ts +1 -1
  2672. package/locales/my.mjs +2 -2
  2673. package/locales/mzn.d.ts +1 -1
  2674. package/locales/mzn.mjs +2 -2
  2675. package/locales/naq.d.ts +1 -1
  2676. package/locales/naq.mjs +2 -2
  2677. package/locales/nb-SJ.d.ts +1 -1
  2678. package/locales/nb-SJ.mjs +2 -2
  2679. package/locales/nb.d.ts +1 -1
  2680. package/locales/nb.mjs +2 -2
  2681. package/locales/nd.d.ts +1 -1
  2682. package/locales/nd.mjs +2 -2
  2683. package/locales/nds-NL.d.ts +1 -1
  2684. package/locales/nds-NL.mjs +2 -2
  2685. package/locales/nds.d.ts +1 -1
  2686. package/locales/nds.mjs +2 -2
  2687. package/locales/ne-IN.d.ts +1 -1
  2688. package/locales/ne-IN.mjs +2 -2
  2689. package/locales/ne.d.ts +1 -1
  2690. package/locales/ne.mjs +2 -2
  2691. package/locales/nl-AW.d.ts +1 -1
  2692. package/locales/nl-AW.mjs +2 -2
  2693. package/locales/nl-BE.d.ts +1 -1
  2694. package/locales/nl-BE.mjs +2 -2
  2695. package/locales/nl-BQ.d.ts +1 -1
  2696. package/locales/nl-BQ.mjs +2 -2
  2697. package/locales/nl-CW.d.ts +1 -1
  2698. package/locales/nl-CW.mjs +2 -2
  2699. package/locales/nl-SR.d.ts +1 -1
  2700. package/locales/nl-SR.mjs +2 -2
  2701. package/locales/nl-SX.d.ts +1 -1
  2702. package/locales/nl-SX.mjs +2 -2
  2703. package/locales/nl.d.ts +1 -1
  2704. package/locales/nl.mjs +2 -2
  2705. package/locales/nmg.d.ts +1 -1
  2706. package/locales/nmg.mjs +2 -2
  2707. package/locales/nn.d.ts +1 -1
  2708. package/locales/nn.mjs +2 -2
  2709. package/locales/nnh.d.ts +1 -1
  2710. package/locales/nnh.mjs +2 -2
  2711. package/locales/no.d.ts +1 -1
  2712. package/locales/no.mjs +2 -2
  2713. package/locales/nus.d.ts +1 -1
  2714. package/locales/nus.mjs +2 -2
  2715. package/locales/nyn.d.ts +1 -1
  2716. package/locales/nyn.mjs +2 -2
  2717. package/locales/om-KE.d.ts +1 -1
  2718. package/locales/om-KE.mjs +2 -2
  2719. package/locales/om.d.ts +1 -1
  2720. package/locales/om.mjs +2 -2
  2721. package/locales/or.d.ts +1 -1
  2722. package/locales/or.mjs +2 -2
  2723. package/locales/os-RU.d.ts +1 -1
  2724. package/locales/os-RU.mjs +2 -2
  2725. package/locales/os.d.ts +1 -1
  2726. package/locales/os.mjs +2 -2
  2727. package/locales/pa-Arab.d.ts +1 -1
  2728. package/locales/pa-Arab.mjs +2 -2
  2729. package/locales/pa-Guru.d.ts +1 -1
  2730. package/locales/pa-Guru.mjs +2 -2
  2731. package/locales/pa.d.ts +1 -1
  2732. package/locales/pa.mjs +2 -2
  2733. package/locales/pcm.d.ts +1 -1
  2734. package/locales/pcm.mjs +2 -2
  2735. package/locales/pl.d.ts +1 -1
  2736. package/locales/pl.mjs +2 -2
  2737. package/locales/ps-PK.d.ts +1 -1
  2738. package/locales/ps-PK.mjs +2 -2
  2739. package/locales/ps.d.ts +1 -1
  2740. package/locales/ps.mjs +2 -2
  2741. package/locales/pt-AO.d.ts +1 -1
  2742. package/locales/pt-AO.mjs +2 -2
  2743. package/locales/pt-CH.d.ts +1 -1
  2744. package/locales/pt-CH.mjs +2 -2
  2745. package/locales/pt-CV.d.ts +1 -1
  2746. package/locales/pt-CV.mjs +2 -2
  2747. package/locales/pt-GQ.d.ts +1 -1
  2748. package/locales/pt-GQ.mjs +2 -2
  2749. package/locales/pt-GW.d.ts +1 -1
  2750. package/locales/pt-GW.mjs +2 -2
  2751. package/locales/pt-LU.d.ts +1 -1
  2752. package/locales/pt-LU.mjs +2 -2
  2753. package/locales/pt-MO.d.ts +1 -1
  2754. package/locales/pt-MO.mjs +2 -2
  2755. package/locales/pt-MZ.d.ts +1 -1
  2756. package/locales/pt-MZ.mjs +2 -2
  2757. package/locales/pt-PT.d.ts +1 -1
  2758. package/locales/pt-PT.mjs +2 -2
  2759. package/locales/pt-ST.d.ts +1 -1
  2760. package/locales/pt-ST.mjs +2 -2
  2761. package/locales/pt-TL.d.ts +1 -1
  2762. package/locales/pt-TL.mjs +2 -2
  2763. package/locales/pt.d.ts +1 -1
  2764. package/locales/pt.mjs +2 -2
  2765. package/locales/qu-BO.d.ts +1 -1
  2766. package/locales/qu-BO.mjs +2 -2
  2767. package/locales/qu-EC.d.ts +1 -1
  2768. package/locales/qu-EC.mjs +2 -2
  2769. package/locales/qu.d.ts +1 -1
  2770. package/locales/qu.mjs +2 -2
  2771. package/locales/rm.d.ts +1 -1
  2772. package/locales/rm.mjs +2 -2
  2773. package/locales/rn.d.ts +1 -1
  2774. package/locales/rn.mjs +2 -2
  2775. package/locales/ro-MD.d.ts +1 -1
  2776. package/locales/ro-MD.mjs +2 -2
  2777. package/locales/ro.d.ts +1 -1
  2778. package/locales/ro.mjs +2 -2
  2779. package/locales/rof.d.ts +1 -1
  2780. package/locales/rof.mjs +2 -2
  2781. package/locales/ru-BY.d.ts +1 -1
  2782. package/locales/ru-BY.mjs +2 -2
  2783. package/locales/ru-KG.d.ts +1 -1
  2784. package/locales/ru-KG.mjs +2 -2
  2785. package/locales/ru-KZ.d.ts +1 -1
  2786. package/locales/ru-KZ.mjs +2 -2
  2787. package/locales/ru-MD.d.ts +1 -1
  2788. package/locales/ru-MD.mjs +2 -2
  2789. package/locales/ru-UA.d.ts +1 -1
  2790. package/locales/ru-UA.mjs +2 -2
  2791. package/locales/ru.d.ts +1 -1
  2792. package/locales/ru.mjs +2 -2
  2793. package/locales/rw.d.ts +1 -1
  2794. package/locales/rw.mjs +2 -2
  2795. package/locales/rwk.d.ts +1 -1
  2796. package/locales/rwk.mjs +2 -2
  2797. package/locales/sa.d.ts +1 -1
  2798. package/locales/sa.mjs +2 -2
  2799. package/locales/sah.d.ts +1 -1
  2800. package/locales/sah.mjs +2 -2
  2801. package/locales/saq.d.ts +1 -1
  2802. package/locales/saq.mjs +2 -2
  2803. package/locales/sat-Olck.d.ts +1 -1
  2804. package/locales/sat-Olck.mjs +2 -2
  2805. package/locales/sat.d.ts +1 -1
  2806. package/locales/sat.mjs +2 -2
  2807. package/locales/sbp.d.ts +1 -1
  2808. package/locales/sbp.mjs +2 -2
  2809. package/locales/sc.d.ts +1 -1
  2810. package/locales/sc.mjs +2 -2
  2811. package/locales/sd-Arab.d.ts +1 -1
  2812. package/locales/sd-Arab.mjs +2 -2
  2813. package/locales/sd-Deva.d.ts +1 -1
  2814. package/locales/sd-Deva.mjs +2 -2
  2815. package/locales/sd.d.ts +1 -1
  2816. package/locales/sd.mjs +2 -2
  2817. package/locales/se-FI.d.ts +1 -1
  2818. package/locales/se-FI.mjs +2 -2
  2819. package/locales/se-SE.d.ts +1 -1
  2820. package/locales/se-SE.mjs +2 -2
  2821. package/locales/se.d.ts +1 -1
  2822. package/locales/se.mjs +2 -2
  2823. package/locales/seh.d.ts +1 -1
  2824. package/locales/seh.mjs +2 -2
  2825. package/locales/ses.d.ts +1 -1
  2826. package/locales/ses.mjs +2 -2
  2827. package/locales/sg.d.ts +1 -1
  2828. package/locales/sg.mjs +2 -2
  2829. package/locales/shi-Latn.d.ts +1 -1
  2830. package/locales/shi-Latn.mjs +2 -2
  2831. package/locales/shi-Tfng.d.ts +1 -1
  2832. package/locales/shi-Tfng.mjs +2 -2
  2833. package/locales/shi.d.ts +1 -1
  2834. package/locales/shi.mjs +2 -2
  2835. package/locales/si.d.ts +1 -1
  2836. package/locales/si.mjs +2 -2
  2837. package/locales/sk.d.ts +1 -1
  2838. package/locales/sk.mjs +2 -2
  2839. package/locales/sl.d.ts +1 -1
  2840. package/locales/sl.mjs +2 -2
  2841. package/locales/smn.d.ts +1 -1
  2842. package/locales/smn.mjs +2 -2
  2843. package/locales/sn.d.ts +1 -1
  2844. package/locales/sn.mjs +2 -2
  2845. package/locales/so-DJ.d.ts +1 -1
  2846. package/locales/so-DJ.mjs +2 -2
  2847. package/locales/so-ET.d.ts +1 -1
  2848. package/locales/so-ET.mjs +2 -2
  2849. package/locales/so-KE.d.ts +1 -1
  2850. package/locales/so-KE.mjs +2 -2
  2851. package/locales/so.d.ts +1 -1
  2852. package/locales/so.mjs +2 -2
  2853. package/locales/sq-MK.d.ts +1 -1
  2854. package/locales/sq-MK.mjs +2 -2
  2855. package/locales/sq-XK.d.ts +1 -1
  2856. package/locales/sq-XK.mjs +2 -2
  2857. package/locales/sq.d.ts +1 -1
  2858. package/locales/sq.mjs +2 -2
  2859. package/locales/sr-Cyrl-BA.d.ts +1 -1
  2860. package/locales/sr-Cyrl-BA.mjs +2 -2
  2861. package/locales/sr-Cyrl-ME.d.ts +1 -1
  2862. package/locales/sr-Cyrl-ME.mjs +2 -2
  2863. package/locales/sr-Cyrl-XK.d.ts +1 -1
  2864. package/locales/sr-Cyrl-XK.mjs +2 -2
  2865. package/locales/sr-Cyrl.d.ts +1 -1
  2866. package/locales/sr-Cyrl.mjs +2 -2
  2867. package/locales/sr-Latn-BA.d.ts +1 -1
  2868. package/locales/sr-Latn-BA.mjs +2 -2
  2869. package/locales/sr-Latn-ME.d.ts +1 -1
  2870. package/locales/sr-Latn-ME.mjs +2 -2
  2871. package/locales/sr-Latn-XK.d.ts +1 -1
  2872. package/locales/sr-Latn-XK.mjs +2 -2
  2873. package/locales/sr-Latn.d.ts +1 -1
  2874. package/locales/sr-Latn.mjs +2 -2
  2875. package/locales/sr.d.ts +1 -1
  2876. package/locales/sr.mjs +2 -2
  2877. package/locales/su-Latn.d.ts +1 -1
  2878. package/locales/su-Latn.mjs +2 -2
  2879. package/locales/su.d.ts +1 -1
  2880. package/locales/su.mjs +2 -2
  2881. package/locales/sv-AX.d.ts +1 -1
  2882. package/locales/sv-AX.mjs +2 -2
  2883. package/locales/sv-FI.d.ts +1 -1
  2884. package/locales/sv-FI.mjs +2 -2
  2885. package/locales/sv.d.ts +1 -1
  2886. package/locales/sv.mjs +2 -2
  2887. package/locales/sw-CD.d.ts +1 -1
  2888. package/locales/sw-CD.mjs +2 -2
  2889. package/locales/sw-KE.d.ts +1 -1
  2890. package/locales/sw-KE.mjs +2 -2
  2891. package/locales/sw-UG.d.ts +1 -1
  2892. package/locales/sw-UG.mjs +2 -2
  2893. package/locales/sw.d.ts +1 -1
  2894. package/locales/sw.mjs +2 -2
  2895. package/locales/ta-LK.d.ts +1 -1
  2896. package/locales/ta-LK.mjs +2 -2
  2897. package/locales/ta-MY.d.ts +1 -1
  2898. package/locales/ta-MY.mjs +2 -2
  2899. package/locales/ta-SG.d.ts +1 -1
  2900. package/locales/ta-SG.mjs +2 -2
  2901. package/locales/ta.d.ts +1 -1
  2902. package/locales/ta.mjs +2 -2
  2903. package/locales/te.d.ts +1 -1
  2904. package/locales/te.mjs +2 -2
  2905. package/locales/teo-KE.d.ts +1 -1
  2906. package/locales/teo-KE.mjs +2 -2
  2907. package/locales/teo.d.ts +1 -1
  2908. package/locales/teo.mjs +2 -2
  2909. package/locales/tg.d.ts +1 -1
  2910. package/locales/tg.mjs +2 -2
  2911. package/locales/th.d.ts +1 -1
  2912. package/locales/th.mjs +2 -2
  2913. package/locales/ti-ER.d.ts +1 -1
  2914. package/locales/ti-ER.mjs +2 -2
  2915. package/locales/ti.d.ts +1 -1
  2916. package/locales/ti.mjs +2 -2
  2917. package/locales/tk.d.ts +1 -1
  2918. package/locales/tk.mjs +2 -2
  2919. package/locales/to.d.ts +1 -1
  2920. package/locales/to.mjs +2 -2
  2921. package/locales/tr-CY.d.ts +1 -1
  2922. package/locales/tr-CY.mjs +2 -2
  2923. package/locales/tr.d.ts +1 -1
  2924. package/locales/tr.mjs +2 -2
  2925. package/locales/tt.d.ts +1 -1
  2926. package/locales/tt.mjs +2 -2
  2927. package/locales/twq.d.ts +1 -1
  2928. package/locales/twq.mjs +2 -2
  2929. package/locales/tzm.d.ts +1 -1
  2930. package/locales/tzm.mjs +2 -2
  2931. package/locales/ug.d.ts +1 -1
  2932. package/locales/ug.mjs +2 -2
  2933. package/locales/uk.d.ts +1 -1
  2934. package/locales/uk.mjs +2 -2
  2935. package/locales/und.d.ts +1 -1
  2936. package/locales/und.mjs +2 -2
  2937. package/locales/ur-IN.d.ts +1 -1
  2938. package/locales/ur-IN.mjs +2 -2
  2939. package/locales/ur.d.ts +1 -1
  2940. package/locales/ur.mjs +2 -2
  2941. package/locales/uz-Arab.d.ts +1 -1
  2942. package/locales/uz-Arab.mjs +2 -2
  2943. package/locales/uz-Cyrl.d.ts +1 -1
  2944. package/locales/uz-Cyrl.mjs +2 -2
  2945. package/locales/uz-Latn.d.ts +1 -1
  2946. package/locales/uz-Latn.mjs +2 -2
  2947. package/locales/uz.d.ts +1 -1
  2948. package/locales/uz.mjs +2 -2
  2949. package/locales/vai-Latn.d.ts +1 -1
  2950. package/locales/vai-Latn.mjs +2 -2
  2951. package/locales/vai-Vaii.d.ts +1 -1
  2952. package/locales/vai-Vaii.mjs +2 -2
  2953. package/locales/vai.d.ts +1 -1
  2954. package/locales/vai.mjs +2 -2
  2955. package/locales/vi.d.ts +1 -1
  2956. package/locales/vi.mjs +2 -2
  2957. package/locales/vun.d.ts +1 -1
  2958. package/locales/vun.mjs +2 -2
  2959. package/locales/wae.d.ts +1 -1
  2960. package/locales/wae.mjs +2 -2
  2961. package/locales/wo.d.ts +1 -1
  2962. package/locales/wo.mjs +2 -2
  2963. package/locales/xh.d.ts +1 -1
  2964. package/locales/xh.mjs +2 -2
  2965. package/locales/xog.d.ts +1 -1
  2966. package/locales/xog.mjs +2 -2
  2967. package/locales/yav.d.ts +1 -1
  2968. package/locales/yav.mjs +2 -2
  2969. package/locales/yi.d.ts +1 -1
  2970. package/locales/yi.mjs +2 -2
  2971. package/locales/yo-BJ.d.ts +1 -1
  2972. package/locales/yo-BJ.mjs +2 -2
  2973. package/locales/yo.d.ts +1 -1
  2974. package/locales/yo.mjs +2 -2
  2975. package/locales/yrl-CO.d.ts +1 -1
  2976. package/locales/yrl-CO.mjs +2 -2
  2977. package/locales/yrl-VE.d.ts +1 -1
  2978. package/locales/yrl-VE.mjs +2 -2
  2979. package/locales/yrl.d.ts +1 -1
  2980. package/locales/yrl.mjs +2 -2
  2981. package/locales/yue-Hans.d.ts +1 -1
  2982. package/locales/yue-Hans.mjs +2 -2
  2983. package/locales/yue-Hant.d.ts +1 -1
  2984. package/locales/yue-Hant.mjs +2 -2
  2985. package/locales/yue.d.ts +1 -1
  2986. package/locales/yue.mjs +2 -2
  2987. package/locales/zgh.d.ts +1 -1
  2988. package/locales/zgh.mjs +2 -2
  2989. package/locales/zh-Hans-HK.d.ts +1 -1
  2990. package/locales/zh-Hans-HK.mjs +2 -2
  2991. package/locales/zh-Hans-MO.d.ts +1 -1
  2992. package/locales/zh-Hans-MO.mjs +2 -2
  2993. package/locales/zh-Hans-SG.d.ts +1 -1
  2994. package/locales/zh-Hans-SG.mjs +2 -2
  2995. package/locales/zh-Hans.d.ts +1 -1
  2996. package/locales/zh-Hans.mjs +2 -2
  2997. package/locales/zh-Hant-HK.d.ts +1 -1
  2998. package/locales/zh-Hant-HK.mjs +2 -2
  2999. package/locales/zh-Hant-MO.d.ts +1 -1
  3000. package/locales/zh-Hant-MO.mjs +2 -2
  3001. package/locales/zh-Hant.d.ts +1 -1
  3002. package/locales/zh-Hant.mjs +2 -2
  3003. package/locales/zh.d.ts +1 -1
  3004. package/locales/zh.mjs +2 -2
  3005. package/locales/zu.d.ts +1 -1
  3006. package/locales/zu.mjs +2 -2
  3007. package/package.json +2 -2
  3008. package/testing/index.d.ts +1 -1
  3009. package/upgrade/index.d.ts +1 -1
@@ -3,7 +3,7 @@
3
3
  * Copyright Google LLC All Rights Reserved.
4
4
  *
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
6
+ * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import { DOCUMENT, ɵPlatformNavigation as PlatformNavigation, } from '@angular/common';
9
9
  import { Inject, inject, Injectable, InjectionToken, Optional } from '@angular/core';
@@ -216,10 +216,10 @@ export class MockPlatformLocation {
216
216
  });
217
217
  }
218
218
  }
219
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MockPlatformLocation, deps: [{ token: MOCK_PLATFORM_LOCATION_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
220
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MockPlatformLocation }); }
219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: MockPlatformLocation, deps: [{ token: MOCK_PLATFORM_LOCATION_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
220
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: MockPlatformLocation }); }
221
221
  }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MockPlatformLocation, decorators: [{
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: MockPlatformLocation, decorators: [{
223
223
  type: Injectable
224
224
  }], ctorParameters: () => [{ type: undefined, decorators: [{
225
225
  type: Inject,
@@ -290,10 +290,10 @@ export class FakeNavigationPlatformLocation {
290
290
  getState() {
291
291
  return this._platformNavigation.currentEntry.getHistoryState();
292
292
  }
293
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FakeNavigationPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
294
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FakeNavigationPlatformLocation }); }
293
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FakeNavigationPlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
294
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FakeNavigationPlatformLocation }); }
295
295
  }
296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FakeNavigationPlatformLocation, decorators: [{
296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FakeNavigationPlatformLocation, decorators: [{
297
297
  type: Injectable
298
298
  }], ctorParameters: () => [] });
299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19wbGF0Zm9ybV9sb2NhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi90ZXN0aW5nL3NyYy9tb2NrX3BsYXRmb3JtX2xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFDTCxRQUFRLEVBSVIsbUJBQW1CLElBQUksa0JBQWtCLEdBQzFDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7O0FBRTVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLFFBQVEsR0FBRywrREFBK0QsQ0FBQztBQUVqRixTQUFTLFFBQVEsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7SUFDaEQsTUFBTSxjQUFjLEdBQUcsd0JBQXdCLENBQUM7SUFDaEQsSUFBSSxVQUE4QixDQUFDO0lBRW5DLDZGQUE2RjtJQUM3Rix3REFBd0Q7SUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksU0FPSCxDQUFDO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztR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QUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxFQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxLQUFhLEVBQUUsR0FBVztRQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLEdBQVc7UUFDakQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTLENBQUMsbUJBQTJCLENBQUM7UUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7eUhBeEVVLDhCQUE4Qjs2SEFBOUIsOEJBQThCOztzR0FBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIERPQ1VNRU5ULFxuICBMb2NhdGlvbkNoYW5nZUV2ZW50LFxuICBMb2NhdGlvbkNoYW5nZUxpc3RlbmVyLFxuICBQbGF0Zm9ybUxvY2F0aW9uLFxuICDJtVBsYXRmb3JtTmF2aWdhdGlvbiBhcyBQbGF0Zm9ybU5hdmlnYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0luamVjdCwgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtGYWtlTmF2aWdhdGlvbn0gZnJvbSAnLi9uYXZpZ2F0aW9uL2Zha2VfbmF2aWdhdGlvbic7XG5cbi8qKlxuICogUGFyc2VyIGZyb20gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzM5ODYjYXBwZW5kaXgtQlxuICogXigoW146Lz8jXSspOik/KC8vKFteLz8jXSopKT8oW14/I10qKShcXD8oW14jXSopKT8oIyguKikpP1xuICogIDEyICAgICAgICAgICAgMyAgNCAgICAgICAgICA1ICAgICAgIDYgIDcgICAgICAgIDggOVxuICpcbiAqIEV4YW1wbGU6IGh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvcHViL2lldGYvdXJpLyNSZWxhdGVkXG4gKlxuICogUmVzdWx0cyBpbjpcbiAqXG4gKiAkMSA9IGh0dHA6XG4gKiAkMiA9IGh0dHBcbiAqICQzID0gLy93d3cuaWNzLnVjaS5lZHVcbiAqICQ0ID0gd3d3Lmljcy51Y2kuZWR1XG4gKiAkNSA9IC9wdWIvaWV0Zi91cmkvXG4gKiAkNiA9IDx1bmRlZmluZWQ+XG4gKiAkNyA9IDx1bmRlZmluZWQ+XG4gKiAkOCA9ICNSZWxhdGVkXG4gKiAkOSA9IFJlbGF0ZWRcbiAqL1xuY29uc3QgdXJsUGFyc2UgPSAvXigoW146XFwvPyNdKyk6KT8oXFwvXFwvKFteXFwvPyNdKikpPyhbXj8jXSopKFxcPyhbXiNdKikpPygjKC4qKSk/LztcblxuZnVuY3Rpb24gcGFyc2VVcmwodXJsU3RyOiBzdHJpbmcsIGJhc2VIcmVmOiBzdHJpbmcpIHtcbiAgY29uc3QgdmVyaWZ5UHJvdG9jb2wgPSAvXigoaHR0cFtzXT98ZnRwKTpcXC9cXC8pLztcbiAgbGV0IHNlcnZlckJhc2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvLyBVUkwgY2xhc3MgcmVxdWlyZXMgZnVsbCBVUkwuIElmIHRoZSBVUkwgc3RyaW5nIGRvZXNuJ3Qgc3RhcnQgd2l0aCBwcm90b2NvbCwgd2UgbmVlZCB0byBhZGRcbiAgLy8gYW4gYXJiaXRyYXJ5IGJhc2UgVVJMIHdoaWNoIGNhbiBiZSByZW1vdmVkIGFmdGVyd2FyZC5cbiAgaWYgKCF2ZXJpZnlQcm90b2NvbC50ZXN0KHVybFN0cikpIHtcbiAgICBzZXJ2ZXJCYXNlID0gJ2h0dHA6Ly9lbXB0eS5jb20vJztcbiAgfVxuICBsZXQgcGFyc2VkVXJsOiB7XG4gICAgcHJvdG9jb2w6IHN0cmluZztcbiAgICBob3N0bmFtZTogc3RyaW5nO1xuICAgIHBvcnQ6IHN0cmluZztcbiAgICBwYXRobmFtZTogc3RyaW5nO1xuICAgIHNlYXJjaDogc3RyaW5nO1xuICAgIGhhc2g6IHN0cmluZztcbiAgfTtcbiAgdHJ5IHtcbiAgICBwYXJzZWRVcmwgPSBuZXcgVVJMKHVybFN0ciwgc2VydmVyQmFzZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zdCByZXN1bHQgPSB1cmxQYXJzZS5leGVjKHNlcnZlckJhc2UgfHwgJycgKyB1cmxTdHIpO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVVJMOiAke3VybFN0cn0gd2l0aCBiYXNlOiAke2Jhc2VIcmVmfWApO1xuICAgIH1cbiAgICBjb25zdCBob3N0U3BsaXQgPSByZXN1bHRbNF0uc3BsaXQoJzonKTtcbiAgICBwYXJzZWRVcmwgPSB7XG4gICAgICBwcm90b2NvbDogcmVzdWx0WzFdLFxuICAgICAgaG9zdG5hbWU6IGhvc3RTcGxpdFswXSxcbiAgICAgIHBvcnQ6IGhvc3RTcGxpdFsxXSB8fCAnJyxcbiAgICAgIHBhdGhuYW1lOiByZXN1bHRbNV0sXG4gICAgICBzZWFyY2g6IHJlc3VsdFs2XSxcbiAgICAgIGhhc2g6IHJlc3VsdFs4XSxcbiAgICB9O1xuICB9XG4gIGlmIChwYXJzZWRVcmwucGF0aG5hbWUgJiYgcGFyc2VkVXJsLnBhdGhuYW1lLmluZGV4T2YoYmFzZUhyZWYpID09PSAwKSB7XG4gICAgcGFyc2VkVXJsLnBhdGhuYW1lID0gcGFyc2VkVXJsLnBhdGhuYW1lLnN1YnN0cmluZyhiYXNlSHJlZi5sZW5ndGgpO1xuICB9XG4gIHJldHVybiB7XG4gICAgaG9zdG5hbWU6ICghc2VydmVyQmFzZSAmJiBwYXJzZWRVcmwuaG9zdG5hbWUpIHx8ICcnLFxuICAgIHByb3RvY29sOiAoIXNlcnZlckJhc2UgJiYgcGFyc2VkVXJsLnByb3RvY29sKSB8fCAnJyxcbiAgICBwb3J0OiAoIXNlcnZlckJhc2UgJiYgcGFyc2VkVXJsLnBvcnQpIHx8ICcnLFxuICAgIHBhdGhuYW1lOiBwYXJzZWRVcmwucGF0aG5hbWUgfHwgJy8nLFxuICAgIHNlYXJjaDogcGFyc2VkVXJsLnNlYXJjaCB8fCAnJyxcbiAgICBoYXNoOiBwYXJzZWRVcmwuaGFzaCB8fCAnJyxcbiAgfTtcbn1cblxuLyoqXG4gKiBNb2NrIHBsYXRmb3JtIGxvY2F0aW9uIGNvbmZpZ1xuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2NrUGxhdGZvcm1Mb2NhdGlvbkNvbmZpZyB7XG4gIHN0YXJ0VXJsPzogc3RyaW5nO1xuICBhcHBCYXNlSHJlZj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm92aWRlciBmb3IgbW9jayBwbGF0Zm9ybSBsb2NhdGlvbiBjb25maWdcbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBjb25zdCBNT0NLX1BMQVRGT1JNX0xPQ0FUSU9OX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNb2NrUGxhdGZvcm1Mb2NhdGlvbkNvbmZpZz4oXG4gICdNT0NLX1BMQVRGT1JNX0xPQ0FUSU9OX0NPTkZJRycsXG4pO1xuXG4vKipcbiAqIE1vY2sgaW1wbGVtZW50YXRpb24gb2YgVVJMIHN0YXRlLlxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vY2tQbGF0Zm9ybUxvY2F0aW9uIGltcGxlbWVudHMgUGxhdGZvcm1Mb2NhdGlvbiB7XG4gIHByaXZhdGUgYmFzZUhyZWY6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIGhhc2hVcGRhdGUgPSBuZXcgU3ViamVjdDxMb2NhdGlvbkNoYW5nZUV2ZW50PigpO1xuICBwcml2YXRlIHBvcFN0YXRlU3ViamVjdCA9IG5ldyBTdWJqZWN0PExvY2F0aW9uQ2hhbmdlRXZlbnQ+KCk7XG4gIHByaXZhdGUgdXJsQ2hhbmdlSW5kZXg6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgdXJsQ2hhbmdlczoge1xuICAgIGhvc3RuYW1lOiBzdHJpbmc7XG4gICAgcHJvdG9jb2w6IHN0cmluZztcbiAgICBwb3J0OiBzdHJpbmc7XG4gICAgcGF0aG5hbWU6IHN0cmluZztcbiAgICBzZWFyY2g6IHN0cmluZztcbiAgICBoYXNoOiBzdHJpbmc7XG4gICAgc3RhdGU6IHVua25vd247XG4gIH1bXSA9IFt7aG9zdG5hbWU6ICcnLCBwcm90b2NvbDogJycsIHBvcnQ6ICcnLCBwYXRobmFtZTogJy8nLCBzZWFyY2g6ICcnLCBoYXNoOiAnJywgc3RhdGU6IG51bGx9XTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1PQ0tfUExBVEZPUk1fTE9DQVRJT05fQ09ORklHKSBAT3B0aW9uYWwoKSBjb25maWc/OiBNb2NrUGxhdGZvcm1Mb2NhdGlvbkNvbmZpZyxcbiAgKSB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5iYXNlSHJlZiA9IGNvbmZpZy5hcHBCYXNlSHJlZiB8fCAnJztcblxuICAgICAgY29uc3QgcGFyc2VkQ2hhbmdlcyA9IHRoaXMucGFyc2VDaGFuZ2VzKFxuICAgICAgICBudWxsLFxuICAgICAgICBjb25maWcuc3RhcnRVcmwgfHwgJ2h0dHA6Ly9fZW1wdHlfLycsXG4gICAgICAgIHRoaXMuYmFzZUhyZWYsXG4gICAgICApO1xuICAgICAgdGhpcy51cmxDaGFuZ2VzWzBdID0gey4uLnBhcnNlZENoYW5nZXN9O1xuICAgIH1cbiAgfVxuXG4gIGdldCBob3N0bmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLmhvc3RuYW1lO1xuICB9XG4gIGdldCBwcm90b2NvbCgpIHtcbiAgICByZXR1cm4gdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLnByb3RvY29sO1xuICB9XG4gIGdldCBwb3J0KCkge1xuICAgIHJldHVybiB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0ucG9ydDtcbiAgfVxuICBnZXQgcGF0aG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXJsQ2hhbmdlc1t0aGlzLnVybENoYW5nZUluZGV4XS5wYXRobmFtZTtcbiAgfVxuICBnZXQgc2VhcmNoKCkge1xuICAgIHJldHVybiB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0uc2VhcmNoO1xuICB9XG4gIGdldCBoYXNoKCkge1xuICAgIHJldHVybiB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0uaGFzaDtcbiAgfVxuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXJsQ2hhbmdlc1t0aGlzLnVybENoYW5nZUluZGV4XS5zdGF0ZTtcbiAgfVxuXG4gIGdldEJhc2VIcmVmRnJvbURPTSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJhc2VIcmVmO1xuICB9XG5cbiAgb25Qb3BTdGF0ZShmbjogTG9jYXRpb25DaGFuZ2VMaXN0ZW5lcik6IFZvaWRGdW5jdGlvbiB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5wb3BTdGF0ZVN1YmplY3Quc3Vic2NyaWJlKGZuKTtcbiAgICByZXR1cm4gKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkhhc2hDaGFuZ2UoZm46IExvY2F0aW9uQ2hhbmdlTGlzdGVuZXIpOiBWb2lkRnVuY3Rpb24ge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuaGFzaFVwZGF0ZS5zdWJzY3JpYmUoZm4pO1xuICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldCBocmVmKCk6IHN0cmluZyB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMucHJvdG9jb2x9Ly8ke3RoaXMuaG9zdG5hbWV9JHt0aGlzLnBvcnQgPyAnOicgKyB0aGlzLnBvcnQgOiAnJ31gO1xuICAgIHVybCArPSBgJHt0aGlzLnBhdGhuYW1lID09PSAnLycgPyAnJyA6IHRoaXMucGF0aG5hbWV9JHt0aGlzLnNlYXJjaH0ke3RoaXMuaGFzaH1gO1xuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBnZXQgdXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucGF0aG5hbWV9JHt0aGlzLnNlYXJjaH0ke3RoaXMuaGFzaH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUNoYW5nZXMoc3RhdGU6IHVua25vd24sIHVybDogc3RyaW5nLCBiYXNlSHJlZjogc3RyaW5nID0gJycpIHtcbiAgICAvLyBXaGVuIHRoZSBgaGlzdG9yeS5zdGF0ZWAgdmFsdWUgaXMgc3RvcmVkLCBpdCBpcyBhbHdheXMgY29waWVkLlxuICAgIHN0YXRlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzdGF0ZSkpO1xuICAgIHJldHVybiB7Li4ucGFyc2VVcmwodXJsLCBiYXNlSHJlZiksIHN0YXRlfTtcbiAgfVxuXG4gIHJlcGxhY2VTdGF0ZShzdGF0ZTogYW55LCB0aXRsZTogc3RyaW5nLCBuZXdVcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHtwYXRobmFtZSwgc2VhcmNoLCBzdGF0ZTogcGFyc2VkU3RhdGUsIGhhc2h9ID0gdGhpcy5wYXJzZUNoYW5nZXMoc3RhdGUsIG5ld1VybCk7XG5cbiAgICB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0gPSB7XG4gICAgICAuLi50aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0sXG4gICAgICBwYXRobmFtZSxcbiAgICAgIHNlYXJjaCxcbiAgICAgIGhhc2gsXG4gICAgICBzdGF0ZTogcGFyc2VkU3RhdGUsXG4gICAgfTtcbiAgfVxuXG4gIHB1c2hTdGF0ZShzdGF0ZTogYW55LCB0aXRsZTogc3RyaW5nLCBuZXdVcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHtwYXRobmFtZSwgc2VhcmNoLCBzdGF0ZTogcGFyc2VkU3RhdGUsIGhhc2h9ID0gdGhpcy5wYXJzZUNoYW5nZXMoc3RhdGUsIG5ld1VybCk7XG4gICAgaWYgKHRoaXMudXJsQ2hhbmdlSW5kZXggPiAwKSB7XG4gICAgICB0aGlzLnVybENoYW5nZXMuc3BsaWNlKHRoaXMudXJsQ2hhbmdlSW5kZXggKyAxKTtcbiAgICB9XG4gICAgdGhpcy51cmxDaGFuZ2VzLnB1c2goe1xuICAgICAgLi4udGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLFxuICAgICAgcGF0aG5hbWUsXG4gICAgICBzZWFyY2gsXG4gICAgICBoYXNoLFxuICAgICAgc3RhdGU6IHBhcnNlZFN0YXRlLFxuICAgIH0pO1xuICAgIHRoaXMudXJsQ2hhbmdlSW5kZXggPSB0aGlzLnVybENoYW5nZXMubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIGZvcndhcmQoKTogdm9pZCB7XG4gICAgY29uc3Qgb2xkVXJsID0gdGhpcy51cmw7XG4gICAgY29uc3Qgb2xkSGFzaCA9IHRoaXMuaGFzaDtcbiAgICBpZiAodGhpcy51cmxDaGFuZ2VJbmRleCA8IHRoaXMudXJsQ2hhbmdlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudXJsQ2hhbmdlSW5kZXgrKztcbiAgICB9XG4gICAgdGhpcy5lbWl0RXZlbnRzKG9sZEhhc2gsIG9sZFVybCk7XG4gIH1cblxuICBiYWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IG9sZFVybCA9IHRoaXMudXJsO1xuICAgIGNvbnN0IG9sZEhhc2ggPSB0aGlzLmhhc2g7XG4gICAgaWYgKHRoaXMudXJsQ2hhbmdlSW5kZXggPiAwKSB7XG4gICAgICB0aGlzLnVybENoYW5nZUluZGV4LS07XG4gICAgfVxuICAgIHRoaXMuZW1pdEV2ZW50cyhvbGRIYXNoLCBvbGRVcmwpO1xuICB9XG5cbiAgaGlzdG9yeUdvKHJlbGF0aXZlUG9zaXRpb246IG51bWJlciA9IDApOiB2b2lkIHtcbiAgICBjb25zdCBvbGRVcmwgPSB0aGlzLnVybDtcbiAgICBjb25zdCBvbGRIYXNoID0gdGhpcy5oYXNoO1xuICAgIGNvbnN0IG5leHRQYWdlSW5kZXggPSB0aGlzLnVybENoYW5nZUluZGV4ICsgcmVsYXRpdmVQb3NpdGlvbjtcbiAgICBpZiAobmV4dFBhZ2VJbmRleCA+PSAwICYmIG5leHRQYWdlSW5kZXggPCB0aGlzLnVybENoYW5nZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnVybENoYW5nZUluZGV4ID0gbmV4dFBhZ2VJbmRleDtcbiAgICB9XG4gICAgdGhpcy5lbWl0RXZlbnRzKG9sZEhhc2gsIG9sZFVybCk7XG4gIH1cblxuICBnZXRTdGF0ZSgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCcm93c2VycyBhcmUgaW5jb25zaXN0ZW50IGluIHdoZW4gdGhleSBmaXJlIGV2ZW50cyBhbmQgcGVyZm9ybSB0aGUgc3RhdGUgdXBkYXRlc1xuICAgKiBUaGUgbW9zdCBlYXNpZXN0IHRoaW5nIHRvIGRvIGluIG91ciBtb2NrIGlzIHN5bmNocm9ub3VzIGFuZCB0aGF0IGhhcHBlbnMgdG8gbWF0Y2hcbiAgICogRmlyZWZveCBhbmQgQ2hyb21lLCBhdCBsZWFzdCBzb21ld2hhdCBjbG9zZWx5XG4gICAqXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL25hdmlnYXRpb24tYXBpI3dhdGNoaW5nLWZvci1uYXZpZ2F0aW9uc1xuICAgKiBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFQZHZlLURKMUpDR2lsajlZcWY1SHhSSnlCS1NlbDVvd2dPdlVKcVRhdXdVL2VkaXQjaGVhZGluZz1oLjN5ZTR2NzF3c3o5NFxuICAgKiBwb3BzdGF0ZSBpcyBhbHdheXMgc2VudCBiZWZvcmUgaGFzaGNoYW5nZTpcbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1dpbmRvdy9wb3BzdGF0ZV9ldmVudCN3aGVuX3BvcHN0YXRlX2lzX3NlbnRcbiAgICovXG4gIHByaXZhdGUgZW1pdEV2ZW50cyhvbGRIYXNoOiBzdHJpbmcsIG9sZFVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5wb3BTdGF0ZVN1YmplY3QubmV4dCh7XG4gICAgICB0eXBlOiAncG9wc3RhdGUnLFxuICAgICAgc3RhdGU6IHRoaXMuZ2V0U3RhdGUoKSxcbiAgICAgIG9sZFVybCxcbiAgICAgIG5ld1VybDogdGhpcy51cmwsXG4gICAgfSBhcyBMb2NhdGlvbkNoYW5nZUV2ZW50KTtcbiAgICBpZiAob2xkSGFzaCAhPT0gdGhpcy5oYXNoKSB7XG4gICAgICB0aGlzLmhhc2hVcGRhdGUubmV4dCh7XG4gICAgICAgIHR5cGU6ICdoYXNoY2hhbmdlJyxcbiAgICAgICAgc3RhdGU6IG51bGwsXG4gICAgICAgIG9sZFVybCxcbiAgICAgICAgbmV3VXJsOiB0aGlzLnVybCxcbiAgICAgIH0gYXMgTG9jYXRpb25DaGFuZ2VFdmVudCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogTW9jayBpbXBsZW1lbnRhdGlvbiBvZiBVUkwgc3RhdGUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGYWtlTmF2aWdhdGlvblBsYXRmb3JtTG9jYXRpb24gaW1wbGVtZW50cyBQbGF0Zm9ybUxvY2F0aW9uIHtcbiAgcHJpdmF0ZSBfcGxhdGZvcm1OYXZpZ2F0aW9uID0gaW5qZWN0KFBsYXRmb3JtTmF2aWdhdGlvbikgYXMgRmFrZU5hdmlnYXRpb247XG4gIHByaXZhdGUgd2luZG93ID0gaW5qZWN0KERPQ1VNRU5UKS5kZWZhdWx0VmlldyE7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCEodGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uIGluc3RhbmNlb2YgRmFrZU5hdmlnYXRpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdGYWtlUGxhdGZvcm1OYXZpZ2F0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgRmFrZU5hdmlnYXRpb24uIFVzZSAnICtcbiAgICAgICAgICAnYHByb3ZpZGVGYWtlTmF2aWdhdGlvbmAgdG8gaGF2ZSBhbGwgdGhlc2Ugc2VydmljZXMgcHJvdmlkZWQgdG9nZXRoZXIuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb25maWcgPSBpbmplY3QoTU9DS19QTEFURk9STV9MT0NBVElPTl9DT05GSUcsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICBnZXRCYXNlSHJlZkZyb21ET00oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWc/LmFwcEJhc2VIcmVmID8/ICcnO1xuICB9XG5cbiAgb25Qb3BTdGF0ZShmbjogTG9jYXRpb25DaGFuZ2VMaXN0ZW5lcik6IFZvaWRGdW5jdGlvbiB7XG4gICAgdGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCBmbik7XG4gICAgcmV0dXJuICgpID0+IHRoaXMud2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgZm4pO1xuICB9XG5cbiAgb25IYXNoQ2hhbmdlKGZuOiBMb2NhdGlvbkNoYW5nZUxpc3RlbmVyKTogVm9pZEZ1bmN0aW9uIHtcbiAgICB0aGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdoYXNoY2hhbmdlJywgZm4gYXMgYW55KTtcbiAgICByZXR1cm4gKCkgPT4gdGhpcy53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignaGFzaGNoYW5nZScsIGZuIGFzIGFueSk7XG4gIH1cblxuICBnZXQgaHJlZigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24uY3VycmVudEVudHJ5LnVybCE7XG4gIH1cbiAgZ2V0IHByb3RvY29sKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBVUkwodGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeS51cmwhKS5wcm90b2NvbDtcbiAgfVxuICBnZXQgaG9zdG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IFVSTCh0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24uY3VycmVudEVudHJ5LnVybCEpLmhvc3RuYW1lO1xuICB9XG4gIGdldCBwb3J0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBVUkwodGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeS51cmwhKS5wb3J0O1xuICB9XG4gIGdldCBwYXRobmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkudXJsISkucGF0aG5hbWU7XG4gIH1cbiAgZ2V0IHNlYXJjaCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkudXJsISkuc2VhcmNoO1xuICB9XG4gIGdldCBoYXNoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBVUkwodGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeS51cmwhKS5oYXNoO1xuICB9XG5cbiAgcHVzaFN0YXRlKHN0YXRlOiBhbnksIHRpdGxlOiBzdHJpbmcsIHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLnB1c2hTdGF0ZShzdGF0ZSwgdGl0bGUsIHVybCk7XG4gIH1cblxuICByZXBsYWNlU3RhdGUoc3RhdGU6IGFueSwgdGl0bGU6IHN0cmluZywgdXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24ucmVwbGFjZVN0YXRlKHN0YXRlLCB0aXRsZSwgdXJsKTtcbiAgfVxuXG4gIGZvcndhcmQoKTogdm9pZCB7XG4gICAgdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmZvcndhcmQoKTtcbiAgfVxuXG4gIGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmJhY2soKTtcbiAgfVxuXG4gIGhpc3RvcnlHbyhyZWxhdGl2ZVBvc2l0aW9uOiBudW1iZXIgPSAwKTogdm9pZCB7XG4gICAgdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmdvKHJlbGF0aXZlUG9zaXRpb24pO1xuICB9XG5cbiAgZ2V0U3RhdGUoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkuZ2V0SGlzdG9yeVN0YXRlKCk7XG4gIH1cbn1cbiJdfQ==
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19wbGF0Zm9ybV9sb2NhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi90ZXN0aW5nL3NyYy9tb2NrX3BsYXRmb3JtX2xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFDTCxRQUFRLEVBSVIsbUJBQW1CLElBQUksa0JBQWtCLEdBQzFDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7O0FBRTVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLFFBQVEsR0FBRywrREFBK0QsQ0FBQztBQUVqRixTQUFTLFFBQVEsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7SUFDaEQsTUFBTSxjQUFjLEdBQUcsd0JBQXdCLENBQUM7SUFDaEQsSUFBSSxVQUE4QixDQUFDO0lBRW5DLDZGQUE2RjtJQUM3Rix3REFBd0Q7SUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksU0FPSCxDQUFDO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztR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QUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxFQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxLQUFhLEVBQUUsR0FBVztRQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLEdBQVc7UUFDakQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTLENBQUMsbUJBQTJCLENBQUM7UUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7eUhBeEVVLDhCQUE4Qjs2SEFBOUIsOEJBQThCOztzR0FBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuZGV2L2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1xuICBET0NVTUVOVCxcbiAgTG9jYXRpb25DaGFuZ2VFdmVudCxcbiAgTG9jYXRpb25DaGFuZ2VMaXN0ZW5lcixcbiAgUGxhdGZvcm1Mb2NhdGlvbixcbiAgybVQbGF0Zm9ybU5hdmlnYXRpb24gYXMgUGxhdGZvcm1OYXZpZ2F0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJbmplY3QsIGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7RmFrZU5hdmlnYXRpb259IGZyb20gJy4vbmF2aWdhdGlvbi9mYWtlX25hdmlnYXRpb24nO1xuXG4vKipcbiAqIFBhcnNlciBmcm9tIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I2FwcGVuZGl4LUJcbiAqIF4oKFteOi8/I10rKTopPygvLyhbXi8/I10qKSk/KFtePyNdKikoXFw/KFteI10qKSk/KCMoLiopKT9cbiAqICAxMiAgICAgICAgICAgIDMgIDQgICAgICAgICAgNSAgICAgICA2ICA3ICAgICAgICA4IDlcbiAqXG4gKiBFeGFtcGxlOiBodHRwOi8vd3d3Lmljcy51Y2kuZWR1L3B1Yi9pZXRmL3VyaS8jUmVsYXRlZFxuICpcbiAqIFJlc3VsdHMgaW46XG4gKlxuICogJDEgPSBodHRwOlxuICogJDIgPSBodHRwXG4gKiAkMyA9IC8vd3d3Lmljcy51Y2kuZWR1XG4gKiAkNCA9IHd3dy5pY3MudWNpLmVkdVxuICogJDUgPSAvcHViL2lldGYvdXJpL1xuICogJDYgPSA8dW5kZWZpbmVkPlxuICogJDcgPSA8dW5kZWZpbmVkPlxuICogJDggPSAjUmVsYXRlZFxuICogJDkgPSBSZWxhdGVkXG4gKi9cbmNvbnN0IHVybFBhcnNlID0gL14oKFteOlxcLz8jXSspOik/KFxcL1xcLyhbXlxcLz8jXSopKT8oW14/I10qKShcXD8oW14jXSopKT8oIyguKikpPy87XG5cbmZ1bmN0aW9uIHBhcnNlVXJsKHVybFN0cjogc3RyaW5nLCBiYXNlSHJlZjogc3RyaW5nKSB7XG4gIGNvbnN0IHZlcmlmeVByb3RvY29sID0gL14oKGh0dHBbc10/fGZ0cCk6XFwvXFwvKS87XG4gIGxldCBzZXJ2ZXJCYXNlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLy8gVVJMIGNsYXNzIHJlcXVpcmVzIGZ1bGwgVVJMLiBJZiB0aGUgVVJMIHN0cmluZyBkb2Vzbid0IHN0YXJ0IHdpdGggcHJvdG9jb2wsIHdlIG5lZWQgdG8gYWRkXG4gIC8vIGFuIGFyYml0cmFyeSBiYXNlIFVSTCB3aGljaCBjYW4gYmUgcmVtb3ZlZCBhZnRlcndhcmQuXG4gIGlmICghdmVyaWZ5UHJvdG9jb2wudGVzdCh1cmxTdHIpKSB7XG4gICAgc2VydmVyQmFzZSA9ICdodHRwOi8vZW1wdHkuY29tLyc7XG4gIH1cbiAgbGV0IHBhcnNlZFVybDoge1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgaG9zdG5hbWU6IHN0cmluZztcbiAgICBwb3J0OiBzdHJpbmc7XG4gICAgcGF0aG5hbWU6IHN0cmluZztcbiAgICBzZWFyY2g6IHN0cmluZztcbiAgICBoYXNoOiBzdHJpbmc7XG4gIH07XG4gIHRyeSB7XG4gICAgcGFyc2VkVXJsID0gbmV3IFVSTCh1cmxTdHIsIHNlcnZlckJhc2UpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdXJsUGFyc2UuZXhlYyhzZXJ2ZXJCYXNlIHx8ICcnICsgdXJsU3RyKTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFVSTDogJHt1cmxTdHJ9IHdpdGggYmFzZTogJHtiYXNlSHJlZn1gKTtcbiAgICB9XG4gICAgY29uc3QgaG9zdFNwbGl0ID0gcmVzdWx0WzRdLnNwbGl0KCc6Jyk7XG4gICAgcGFyc2VkVXJsID0ge1xuICAgICAgcHJvdG9jb2w6IHJlc3VsdFsxXSxcbiAgICAgIGhvc3RuYW1lOiBob3N0U3BsaXRbMF0sXG4gICAgICBwb3J0OiBob3N0U3BsaXRbMV0gfHwgJycsXG4gICAgICBwYXRobmFtZTogcmVzdWx0WzVdLFxuICAgICAgc2VhcmNoOiByZXN1bHRbNl0sXG4gICAgICBoYXNoOiByZXN1bHRbOF0sXG4gICAgfTtcbiAgfVxuICBpZiAocGFyc2VkVXJsLnBhdGhuYW1lICYmIHBhcnNlZFVybC5wYXRobmFtZS5pbmRleE9mKGJhc2VIcmVmKSA9PT0gMCkge1xuICAgIHBhcnNlZFVybC5wYXRobmFtZSA9IHBhcnNlZFVybC5wYXRobmFtZS5zdWJzdHJpbmcoYmFzZUhyZWYubGVuZ3RoKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGhvc3RuYW1lOiAoIXNlcnZlckJhc2UgJiYgcGFyc2VkVXJsLmhvc3RuYW1lKSB8fCAnJyxcbiAgICBwcm90b2NvbDogKCFzZXJ2ZXJCYXNlICYmIHBhcnNlZFVybC5wcm90b2NvbCkgfHwgJycsXG4gICAgcG9ydDogKCFzZXJ2ZXJCYXNlICYmIHBhcnNlZFVybC5wb3J0KSB8fCAnJyxcbiAgICBwYXRobmFtZTogcGFyc2VkVXJsLnBhdGhuYW1lIHx8ICcvJyxcbiAgICBzZWFyY2g6IHBhcnNlZFVybC5zZWFyY2ggfHwgJycsXG4gICAgaGFzaDogcGFyc2VkVXJsLmhhc2ggfHwgJycsXG4gIH07XG59XG5cbi8qKlxuICogTW9jayBwbGF0Zm9ybSBsb2NhdGlvbiBjb25maWdcbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9ja1BsYXRmb3JtTG9jYXRpb25Db25maWcge1xuICBzdGFydFVybD86IHN0cmluZztcbiAgYXBwQmFzZUhyZWY/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvdmlkZXIgZm9yIG1vY2sgcGxhdGZvcm0gbG9jYXRpb24gY29uZmlnXG4gKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgY29uc3QgTU9DS19QTEFURk9STV9MT0NBVElPTl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48TW9ja1BsYXRmb3JtTG9jYXRpb25Db25maWc+KFxuICAnTU9DS19QTEFURk9STV9MT0NBVElPTl9DT05GSUcnLFxuKTtcblxuLyoqXG4gKiBNb2NrIGltcGxlbWVudGF0aW9uIG9mIFVSTCBzdGF0ZS5cbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2NrUGxhdGZvcm1Mb2NhdGlvbiBpbXBsZW1lbnRzIFBsYXRmb3JtTG9jYXRpb24ge1xuICBwcml2YXRlIGJhc2VIcmVmOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBoYXNoVXBkYXRlID0gbmV3IFN1YmplY3Q8TG9jYXRpb25DaGFuZ2VFdmVudD4oKTtcbiAgcHJpdmF0ZSBwb3BTdGF0ZVN1YmplY3QgPSBuZXcgU3ViamVjdDxMb2NhdGlvbkNoYW5nZUV2ZW50PigpO1xuICBwcml2YXRlIHVybENoYW5nZUluZGV4OiBudW1iZXIgPSAwO1xuICBwcml2YXRlIHVybENoYW5nZXM6IHtcbiAgICBob3N0bmFtZTogc3RyaW5nO1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgcG9ydDogc3RyaW5nO1xuICAgIHBhdGhuYW1lOiBzdHJpbmc7XG4gICAgc2VhcmNoOiBzdHJpbmc7XG4gICAgaGFzaDogc3RyaW5nO1xuICAgIHN0YXRlOiB1bmtub3duO1xuICB9W10gPSBbe2hvc3RuYW1lOiAnJywgcHJvdG9jb2w6ICcnLCBwb3J0OiAnJywgcGF0aG5hbWU6ICcvJywgc2VhcmNoOiAnJywgaGFzaDogJycsIHN0YXRlOiBudWxsfV07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNT0NLX1BMQVRGT1JNX0xPQ0FUSU9OX0NPTkZJRykgQE9wdGlvbmFsKCkgY29uZmlnPzogTW9ja1BsYXRmb3JtTG9jYXRpb25Db25maWcsXG4gICkge1xuICAgIGlmIChjb25maWcpIHtcbiAgICAgIHRoaXMuYmFzZUhyZWYgPSBjb25maWcuYXBwQmFzZUhyZWYgfHwgJyc7XG5cbiAgICAgIGNvbnN0IHBhcnNlZENoYW5nZXMgPSB0aGlzLnBhcnNlQ2hhbmdlcyhcbiAgICAgICAgbnVsbCxcbiAgICAgICAgY29uZmlnLnN0YXJ0VXJsIHx8ICdodHRwOi8vX2VtcHR5Xy8nLFxuICAgICAgICB0aGlzLmJhc2VIcmVmLFxuICAgICAgKTtcbiAgICAgIHRoaXMudXJsQ2hhbmdlc1swXSA9IHsuLi5wYXJzZWRDaGFuZ2VzfTtcbiAgICB9XG4gIH1cblxuICBnZXQgaG9zdG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXJsQ2hhbmdlc1t0aGlzLnVybENoYW5nZUluZGV4XS5ob3N0bmFtZTtcbiAgfVxuICBnZXQgcHJvdG9jb2woKSB7XG4gICAgcmV0dXJuIHRoaXMudXJsQ2hhbmdlc1t0aGlzLnVybENoYW5nZUluZGV4XS5wcm90b2NvbDtcbiAgfVxuICBnZXQgcG9ydCgpIHtcbiAgICByZXR1cm4gdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLnBvcnQ7XG4gIH1cbiAgZ2V0IHBhdGhuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0ucGF0aG5hbWU7XG4gIH1cbiAgZ2V0IHNlYXJjaCgpIHtcbiAgICByZXR1cm4gdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLnNlYXJjaDtcbiAgfVxuICBnZXQgaGFzaCgpIHtcbiAgICByZXR1cm4gdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLmhhc2g7XG4gIH1cbiAgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVybENoYW5nZXNbdGhpcy51cmxDaGFuZ2VJbmRleF0uc3RhdGU7XG4gIH1cblxuICBnZXRCYXNlSHJlZkZyb21ET00oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHJlZjtcbiAgfVxuXG4gIG9uUG9wU3RhdGUoZm46IExvY2F0aW9uQ2hhbmdlTGlzdGVuZXIpOiBWb2lkRnVuY3Rpb24ge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMucG9wU3RhdGVTdWJqZWN0LnN1YnNjcmliZShmbik7XG4gICAgcmV0dXJuICgpID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25IYXNoQ2hhbmdlKGZuOiBMb2NhdGlvbkNoYW5nZUxpc3RlbmVyKTogVm9pZEZ1bmN0aW9uIHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmhhc2hVcGRhdGUuc3Vic2NyaWJlKGZuKTtcbiAgICByZXR1cm4gKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXQgaHJlZigpOiBzdHJpbmcge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLnByb3RvY29sfS8vJHt0aGlzLmhvc3RuYW1lfSR7dGhpcy5wb3J0ID8gJzonICsgdGhpcy5wb3J0IDogJyd9YDtcbiAgICB1cmwgKz0gYCR7dGhpcy5wYXRobmFtZSA9PT0gJy8nID8gJycgOiB0aGlzLnBhdGhuYW1lfSR7dGhpcy5zZWFyY2h9JHt0aGlzLmhhc2h9YDtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgZ2V0IHVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnBhdGhuYW1lfSR7dGhpcy5zZWFyY2h9JHt0aGlzLmhhc2h9YDtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDaGFuZ2VzKHN0YXRlOiB1bmtub3duLCB1cmw6IHN0cmluZywgYmFzZUhyZWY6IHN0cmluZyA9ICcnKSB7XG4gICAgLy8gV2hlbiB0aGUgYGhpc3Rvcnkuc3RhdGVgIHZhbHVlIGlzIHN0b3JlZCwgaXQgaXMgYWx3YXlzIGNvcGllZC5cbiAgICBzdGF0ZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUpKTtcbiAgICByZXR1cm4gey4uLnBhcnNlVXJsKHVybCwgYmFzZUhyZWYpLCBzdGF0ZX07XG4gIH1cblxuICByZXBsYWNlU3RhdGUoc3RhdGU6IGFueSwgdGl0bGU6IHN0cmluZywgbmV3VXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB7cGF0aG5hbWUsIHNlYXJjaCwgc3RhdGU6IHBhcnNlZFN0YXRlLCBoYXNofSA9IHRoaXMucGFyc2VDaGFuZ2VzKHN0YXRlLCBuZXdVcmwpO1xuXG4gICAgdGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdID0ge1xuICAgICAgLi4udGhpcy51cmxDaGFuZ2VzW3RoaXMudXJsQ2hhbmdlSW5kZXhdLFxuICAgICAgcGF0aG5hbWUsXG4gICAgICBzZWFyY2gsXG4gICAgICBoYXNoLFxuICAgICAgc3RhdGU6IHBhcnNlZFN0YXRlLFxuICAgIH07XG4gIH1cblxuICBwdXNoU3RhdGUoc3RhdGU6IGFueSwgdGl0bGU6IHN0cmluZywgbmV3VXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB7cGF0aG5hbWUsIHNlYXJjaCwgc3RhdGU6IHBhcnNlZFN0YXRlLCBoYXNofSA9IHRoaXMucGFyc2VDaGFuZ2VzKHN0YXRlLCBuZXdVcmwpO1xuICAgIGlmICh0aGlzLnVybENoYW5nZUluZGV4ID4gMCkge1xuICAgICAgdGhpcy51cmxDaGFuZ2VzLnNwbGljZSh0aGlzLnVybENoYW5nZUluZGV4ICsgMSk7XG4gICAgfVxuICAgIHRoaXMudXJsQ2hhbmdlcy5wdXNoKHtcbiAgICAgIC4uLnRoaXMudXJsQ2hhbmdlc1t0aGlzLnVybENoYW5nZUluZGV4XSxcbiAgICAgIHBhdGhuYW1lLFxuICAgICAgc2VhcmNoLFxuICAgICAgaGFzaCxcbiAgICAgIHN0YXRlOiBwYXJzZWRTdGF0ZSxcbiAgICB9KTtcbiAgICB0aGlzLnVybENoYW5nZUluZGV4ID0gdGhpcy51cmxDaGFuZ2VzLmxlbmd0aCAtIDE7XG4gIH1cblxuICBmb3J3YXJkKCk6IHZvaWQge1xuICAgIGNvbnN0IG9sZFVybCA9IHRoaXMudXJsO1xuICAgIGNvbnN0IG9sZEhhc2ggPSB0aGlzLmhhc2g7XG4gICAgaWYgKHRoaXMudXJsQ2hhbmdlSW5kZXggPCB0aGlzLnVybENoYW5nZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnVybENoYW5nZUluZGV4Kys7XG4gICAgfVxuICAgIHRoaXMuZW1pdEV2ZW50cyhvbGRIYXNoLCBvbGRVcmwpO1xuICB9XG5cbiAgYmFjaygpOiB2b2lkIHtcbiAgICBjb25zdCBvbGRVcmwgPSB0aGlzLnVybDtcbiAgICBjb25zdCBvbGRIYXNoID0gdGhpcy5oYXNoO1xuICAgIGlmICh0aGlzLnVybENoYW5nZUluZGV4ID4gMCkge1xuICAgICAgdGhpcy51cmxDaGFuZ2VJbmRleC0tO1xuICAgIH1cbiAgICB0aGlzLmVtaXRFdmVudHMob2xkSGFzaCwgb2xkVXJsKTtcbiAgfVxuXG4gIGhpc3RvcnlHbyhyZWxhdGl2ZVBvc2l0aW9uOiBudW1iZXIgPSAwKTogdm9pZCB7XG4gICAgY29uc3Qgb2xkVXJsID0gdGhpcy51cmw7XG4gICAgY29uc3Qgb2xkSGFzaCA9IHRoaXMuaGFzaDtcbiAgICBjb25zdCBuZXh0UGFnZUluZGV4ID0gdGhpcy51cmxDaGFuZ2VJbmRleCArIHJlbGF0aXZlUG9zaXRpb247XG4gICAgaWYgKG5leHRQYWdlSW5kZXggPj0gMCAmJiBuZXh0UGFnZUluZGV4IDwgdGhpcy51cmxDaGFuZ2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy51cmxDaGFuZ2VJbmRleCA9IG5leHRQYWdlSW5kZXg7XG4gICAgfVxuICAgIHRoaXMuZW1pdEV2ZW50cyhvbGRIYXNoLCBvbGRVcmwpO1xuICB9XG5cbiAgZ2V0U3RhdGUoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGU7XG4gIH1cblxuICAvKipcbiAgICogQnJvd3NlcnMgYXJlIGluY29uc2lzdGVudCBpbiB3aGVuIHRoZXkgZmlyZSBldmVudHMgYW5kIHBlcmZvcm0gdGhlIHN0YXRlIHVwZGF0ZXNcbiAgICogVGhlIG1vc3QgZWFzaWVzdCB0aGluZyB0byBkbyBpbiBvdXIgbW9jayBpcyBzeW5jaHJvbm91cyBhbmQgdGhhdCBoYXBwZW5zIHRvIG1hdGNoXG4gICAqIEZpcmVmb3ggYW5kIENocm9tZSwgYXQgbGVhc3Qgc29tZXdoYXQgY2xvc2VseVxuICAgKlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9uYXZpZ2F0aW9uLWFwaSN3YXRjaGluZy1mb3ItbmF2aWdhdGlvbnNcbiAgICogaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC8xUGR2ZS1ESjFKQ0dpbGo5WXFmNUh4Ukp5QktTZWw1b3dnT3ZVSnFUYXV3VS9lZGl0I2hlYWRpbmc9aC4zeWU0djcxd3N6OTRcbiAgICogcG9wc3RhdGUgaXMgYWx3YXlzIHNlbnQgYmVmb3JlIGhhc2hjaGFuZ2U6XG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9XaW5kb3cvcG9wc3RhdGVfZXZlbnQjd2hlbl9wb3BzdGF0ZV9pc19zZW50XG4gICAqL1xuICBwcml2YXRlIGVtaXRFdmVudHMob2xkSGFzaDogc3RyaW5nLCBvbGRVcmw6IHN0cmluZykge1xuICAgIHRoaXMucG9wU3RhdGVTdWJqZWN0Lm5leHQoe1xuICAgICAgdHlwZTogJ3BvcHN0YXRlJyxcbiAgICAgIHN0YXRlOiB0aGlzLmdldFN0YXRlKCksXG4gICAgICBvbGRVcmwsXG4gICAgICBuZXdVcmw6IHRoaXMudXJsLFxuICAgIH0gYXMgTG9jYXRpb25DaGFuZ2VFdmVudCk7XG4gICAgaWYgKG9sZEhhc2ggIT09IHRoaXMuaGFzaCkge1xuICAgICAgdGhpcy5oYXNoVXBkYXRlLm5leHQoe1xuICAgICAgICB0eXBlOiAnaGFzaGNoYW5nZScsXG4gICAgICAgIHN0YXRlOiBudWxsLFxuICAgICAgICBvbGRVcmwsXG4gICAgICAgIG5ld1VybDogdGhpcy51cmwsXG4gICAgICB9IGFzIExvY2F0aW9uQ2hhbmdlRXZlbnQpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE1vY2sgaW1wbGVtZW50YXRpb24gb2YgVVJMIHN0YXRlLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmFrZU5hdmlnYXRpb25QbGF0Zm9ybUxvY2F0aW9uIGltcGxlbWVudHMgUGxhdGZvcm1Mb2NhdGlvbiB7XG4gIHByaXZhdGUgX3BsYXRmb3JtTmF2aWdhdGlvbiA9IGluamVjdChQbGF0Zm9ybU5hdmlnYXRpb24pIGFzIEZha2VOYXZpZ2F0aW9uO1xuICBwcml2YXRlIHdpbmRvdyA9IGluamVjdChET0NVTUVOVCkuZGVmYXVsdFZpZXchO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbiBpbnN0YW5jZW9mIEZha2VOYXZpZ2F0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnRmFrZVBsYXRmb3JtTmF2aWdhdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IEZha2VOYXZpZ2F0aW9uLiBVc2UgJyArXG4gICAgICAgICAgJ2Bwcm92aWRlRmFrZU5hdmlnYXRpb25gIHRvIGhhdmUgYWxsIHRoZXNlIHNlcnZpY2VzIHByb3ZpZGVkIHRvZ2V0aGVyLicsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KE1PQ0tfUExBVEZPUk1fTE9DQVRJT05fQ09ORklHLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgZ2V0QmFzZUhyZWZGcm9tRE9NKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnPy5hcHBCYXNlSHJlZiA/PyAnJztcbiAgfVxuXG4gIG9uUG9wU3RhdGUoZm46IExvY2F0aW9uQ2hhbmdlTGlzdGVuZXIpOiBWb2lkRnVuY3Rpb24ge1xuICAgIHRoaXMud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgZm4pO1xuICAgIHJldHVybiAoKSA9PiB0aGlzLndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdwb3BzdGF0ZScsIGZuKTtcbiAgfVxuXG4gIG9uSGFzaENoYW5nZShmbjogTG9jYXRpb25DaGFuZ2VMaXN0ZW5lcik6IFZvaWRGdW5jdGlvbiB7XG4gICAgdGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignaGFzaGNoYW5nZScsIGZuIGFzIGFueSk7XG4gICAgcmV0dXJuICgpID0+IHRoaXMud2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2hhc2hjaGFuZ2UnLCBmbiBhcyBhbnkpO1xuICB9XG5cbiAgZ2V0IGhyZWYoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeS51cmwhO1xuICB9XG4gIGdldCBwcm90b2NvbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkudXJsISkucHJvdG9jb2w7XG4gIH1cbiAgZ2V0IGhvc3RuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBVUkwodGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeS51cmwhKS5ob3N0bmFtZTtcbiAgfVxuICBnZXQgcG9ydCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkudXJsISkucG9ydDtcbiAgfVxuICBnZXQgcGF0aG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IFVSTCh0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24uY3VycmVudEVudHJ5LnVybCEpLnBhdGhuYW1lO1xuICB9XG4gIGdldCBzZWFyY2goKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IFVSTCh0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24uY3VycmVudEVudHJ5LnVybCEpLnNlYXJjaDtcbiAgfVxuICBnZXQgaGFzaCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5jdXJyZW50RW50cnkudXJsISkuaGFzaDtcbiAgfVxuXG4gIHB1c2hTdGF0ZShzdGF0ZTogYW55LCB0aXRsZTogc3RyaW5nLCB1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5wdXNoU3RhdGUoc3RhdGUsIHRpdGxlLCB1cmwpO1xuICB9XG5cbiAgcmVwbGFjZVN0YXRlKHN0YXRlOiBhbnksIHRpdGxlOiBzdHJpbmcsIHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fcGxhdGZvcm1OYXZpZ2F0aW9uLnJlcGxhY2VTdGF0ZShzdGF0ZSwgdGl0bGUsIHVybCk7XG4gIH1cblxuICBmb3J3YXJkKCk6IHZvaWQge1xuICAgIHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5mb3J3YXJkKCk7XG4gIH1cblxuICBiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5iYWNrKCk7XG4gIH1cblxuICBoaXN0b3J5R28ocmVsYXRpdmVQb3NpdGlvbjogbnVtYmVyID0gMCk6IHZvaWQge1xuICAgIHRoaXMuX3BsYXRmb3JtTmF2aWdhdGlvbi5nbyhyZWxhdGl2ZVBvc2l0aW9uKTtcbiAgfVxuXG4gIGdldFN0YXRlKCk6IHVua25vd24ge1xuICAgIHJldHVybiB0aGlzLl9wbGF0Zm9ybU5hdmlnYXRpb24uY3VycmVudEVudHJ5LmdldEhpc3RvcnlTdGF0ZSgpO1xuICB9XG59XG4iXX0=
@@ -3,7 +3,7 @@
3
3
  * Copyright Google LLC All Rights Reserved.
4
4
  *
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
6
+ * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  /**
9
9
  * Fake implementation of user agent history and navigation behavior. This is a
@@ -664,4 +664,4 @@ class InternalNavigationResult {
664
664
  this.finished.catch(() => { });
665
665
  }
666
666
  }
667
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZV9uYXZpZ2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3Rlc3Rpbmcvc3JjL25hdmlnYXRpb24vZmFrZV9uYXZpZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQWtCSDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUF3RHpCLCtDQUErQztJQUMvQyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxZQUNtQixNQUFjLEVBQy9CLFFBQXlCO1FBRFIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXJFakM7OztXQUdHO1FBQ2MsZUFBVSxHQUFpQyxFQUFFLENBQUM7UUFFL0Q7O1dBRUc7UUFDSyxzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFFOUI7O1dBRUc7UUFDSyxrQkFBYSxHQUEwQyxTQUFTLENBQUM7UUFFekU7OztXQUdHO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztRQUU5RTs7O1dBR0c7UUFDSyxrQkFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUUxQzs7O1dBR0c7UUFDSywwQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFFbEM7OztXQUdHO1FBQ0ssMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBRXRDLDREQUE0RDtRQUNwRCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFbEMsd0NBQXdDO1FB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QUFDO0lBQ2hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1xuICBOYXZpZ2F0ZUV2ZW50LFxuICBOYXZpZ2F0aW9uLFxuICBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQsXG4gIE5hdmlnYXRpb25EZXN0aW5hdGlvbixcbiAgTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSxcbiAgTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMsXG4gIE5hdmlnYXRpb25OYXZpZ2F0ZU9wdGlvbnMsXG4gIE5hdmlnYXRpb25PcHRpb25zLFxuICBOYXZpZ2F0aW9uUmVsb2FkT3B0aW9ucyxcbiAgTmF2aWdhdGlvblJlc3VsdCxcbiAgTmF2aWdhdGlvblRyYW5zaXRpb24sXG4gIE5hdmlnYXRpb25UeXBlU3RyaW5nLFxuICBOYXZpZ2F0aW9uVXBkYXRlQ3VycmVudEVudHJ5T3B0aW9ucyxcbn0gZnJvbSAnLi9uYXZpZ2F0aW9uX3R5cGVzJztcblxuLyoqXG4gKiBGYWtlIGltcGxlbWVudGF0aW9uIG9mIHVzZXIgYWdlbnQgaGlzdG9yeSBhbmQgbmF2aWdhdGlvbiBiZWhhdmlvci4gVGhpcyBpcyBhXG4gKiBoaWdoLWZpZGVsaXR5IGltcGxlbWVudGF0aW9uIG9mIGJyb3dzZXIgYmVoYXZpb3IgdGhhdCBhdHRlbXB0cyB0byBlbXVsYXRlXG4gKiB0aGluZ3MgbGlrZSB0cmF2ZXJzYWwgZGVsYXkuXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWtlTmF2aWdhdGlvbiBpbXBsZW1lbnRzIE5hdmlnYXRpb24ge1xuICAvKipcbiAgICogVGhlIGZha2UgaW1wbGVtZW50YXRpb24gb2YgYW4gZW50cmllcyBhcnJheS4gT25seSBzYW1lLWRvY3VtZW50IGVudHJpZXNcbiAgICogYWxsb3dlZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZW50cmllc0FycjogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnlbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBhY3RpdmUgZW50cnkgaW5kZXggaW50byBgZW50cmllc0FycmAuXG4gICAqL1xuICBwcml2YXRlIGN1cnJlbnRFbnRyeUluZGV4ID0gMDtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgbmF2aWdhdGUgZXZlbnQuXG4gICAqL1xuICBwcml2YXRlIG5hdmlnYXRlRXZlbnQ6IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEEgTWFwIG9mIHBlbmRpbmcgdHJhdmVyc2Fscywgc28gdGhhdCB0cmF2ZXJzYWxzIHRvIHRoZSBzYW1lIGVudHJ5IGNhbiBiZVxuICAgKiByZS11c2VkLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0cmF2ZXJzYWxRdWV1ZSA9IG5ldyBNYXA8c3RyaW5nLCBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQ+KCk7XG5cbiAgLyoqXG4gICAqIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHByZXZpb3VzIHRyYXZlcnNhbHMgaGF2ZSBmaW5pc2hlZC4gVXNlZCB0b1xuICAgKiBzaW11bGF0ZSB0aGUgY3Jvc3MtcHJvY2VzcyBjb21tdW5pY2F0aW9uIG5lY2Vzc2FyeSBmb3IgdHJhdmVyc2Fscy5cbiAgICovXG4gIHByaXZhdGUgbmV4dFRyYXZlcnNhbCA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4gIC8qKlxuICAgKiBBIHByb3NwZWN0aXZlIGN1cnJlbnQgYWN0aXZlIGVudHJ5IGluZGV4LCB3aGljaCBpbmNsdWRlcyB1bnJlc29sdmVkXG4gICAqIHRyYXZlcnNhbHMuIFVzZWQgYnkgYGdvYCB0byBkZXRlcm1pbmUgd2hlcmUgbmF2aWdhdGlvbnMgYXJlIGludGVuZGVkIHRvIGdvLlxuICAgKi9cbiAgcHJpdmF0ZSBwcm9zcGVjdGl2ZUVudHJ5SW5kZXggPSAwO1xuXG4gIC8qKlxuICAgKiBBIHRlc3Qtb25seSBvcHRpb24gdG8gbWFrZSB0cmF2ZXJzYWxzIHN5bmNocm9ub3VzLCByYXRoZXIgdGhhbiBlbXVsYXRlXG4gICAqIGNyb3NzLXByb2Nlc3MgY29tbXVuaWNhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc3luY2hyb25vdXNUcmF2ZXJzYWxzID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdG8gYWxsb3cgYSBjYWxsIHRvIHNldEluaXRpYWxFbnRyeUZvclRlc3RpbmcuICovXG4gIHByaXZhdGUgY2FuU2V0SW5pdGlhbEVudHJ5ID0gdHJ1ZTtcblxuICAvKiogYEV2ZW50VGFyZ2V0YCB0byBkaXNwYXRjaCBldmVudHMuICovXG4gIHByaXZhdGUgZXZlbnRUYXJnZXQ6IEV2ZW50VGFyZ2V0ID0gdGhpcy53aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgLyoqIFRoZSBuZXh0IHVuaXF1ZSBpZCBmb3IgY3JlYXRlZCBlbnRyaWVzLiBSZXBsYWNlIHJlY3JlYXRlcyB0aGlzIGlkLiAqL1xuICBwcml2YXRlIG5leHRJZCA9IDA7XG5cbiAgLyoqIFRoZSBuZXh0IHVuaXF1ZSBrZXkgZm9yIGNyZWF0ZWQgZW50cmllcy4gUmVwbGFjZSBpbmhlcml0cyB0aGlzIGlkLiAqL1xuICBwcml2YXRlIG5leHRLZXkgPSAwO1xuXG4gIC8qKiBXaGV0aGVyIHRoaXMgZmFrZSBpcyBkaXNwb3NlZC4gKi9cbiAgcHJpdmF0ZSBkaXNwb3NlZCA9IGZhbHNlO1xuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBuYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeWAuICovXG4gIGdldCBjdXJyZW50RW50cnkoKTogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnkge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXNBcnJbdGhpcy5jdXJyZW50RW50cnlJbmRleF07XG4gIH1cblxuICBnZXQgY2FuR29CYWNrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRFbnRyeUluZGV4ID4gMDtcbiAgfVxuXG4gIGdldCBjYW5Hb0ZvcndhcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEVudHJ5SW5kZXggPCB0aGlzLmVudHJpZXNBcnIubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBXaW5kb3csXG4gICAgc3RhcnRVUkw6IGBodHRwJHtzdHJpbmd9YCxcbiAgKSB7XG4gICAgLy8gRmlyc3QgZW50cnkuXG4gICAgdGhpcy5zZXRJbml0aWFsRW50cnlGb3JUZXN0aW5nKHN0YXJ0VVJMKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbml0aWFsIGVudHJ5LlxuICAgKi9cbiAgcHJpdmF0ZSBzZXRJbml0aWFsRW50cnlGb3JUZXN0aW5nKFxuICAgIHVybDogYGh0dHAke3N0cmluZ31gLFxuICAgIG9wdGlvbnM6IHtoaXN0b3J5U3RhdGU6IHVua25vd247IHN0YXRlPzogdW5rbm93bn0gPSB7aGlzdG9yeVN0YXRlOiBudWxsfSxcbiAgKSB7XG4gICAgaWYgKCF0aGlzLmNhblNldEluaXRpYWxFbnRyeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnc2V0SW5pdGlhbEVudHJ5Rm9yVGVzdGluZyBjYW4gb25seSBiZSBjYWxsZWQgYmVmb3JlIGFueSAnICsgJ25hdmlnYXRpb24gaGFzIG9jY3VycmVkJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbml0aWFsRW50cnkgPSB0aGlzLmVudHJpZXNBcnJbMF07XG4gICAgdGhpcy5lbnRyaWVzQXJyWzBdID0gbmV3IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5KG5ldyBVUkwodXJsKS50b1N0cmluZygpLCB7XG4gICAgICBpbmRleDogMCxcbiAgICAgIGtleTogY3VycmVudEluaXRpYWxFbnRyeT8ua2V5ID8/IFN0cmluZyh0aGlzLm5leHRLZXkrKyksXG4gICAgICBpZDogY3VycmVudEluaXRpYWxFbnRyeT8uaWQgPz8gU3RyaW5nKHRoaXMubmV4dElkKyspLFxuICAgICAgc2FtZURvY3VtZW50OiB0cnVlLFxuICAgICAgaGlzdG9yeVN0YXRlOiBvcHRpb25zPy5oaXN0b3J5U3RhdGUsXG4gICAgICBzdGF0ZTogb3B0aW9ucy5zdGF0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGluaXRpYWwgZW50cnkgaXMgc3RpbGwgZWxpZ2libGUgdG8gYmUgc2V0LiAqL1xuICBjYW5TZXRJbml0aWFsRW50cnlGb3JUZXN0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhblNldEluaXRpYWxFbnRyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHdoZXRoZXIgdG8gZW11bGF0ZSB0cmF2ZXJzYWxzIGFzIHN5bmNocm9ub3VzIHJhdGhlciB0aGFuXG4gICAqIGFzeW5jaHJvbm91cy5cbiAgICovXG4gIHNldFN5bmNocm9ub3VzVHJhdmVyc2Fsc0ZvclRlc3Rpbmcoc3luY2hyb25vdXNUcmF2ZXJzYWxzOiBib29sZWFuKSB7XG4gICAgdGhpcy5zeW5jaHJvbm91c1RyYXZlcnNhbHMgPSBzeW5jaHJvbm91c1RyYXZlcnNhbHM7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5lbnRyaWVzKClgLiAqL1xuICBlbnRyaWVzKCk6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5W10ge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXNBcnIuc2xpY2UoKTtcbiAgfVxuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBuYXZpZ2F0aW9uLm5hdmlnYXRlKClgLiAqL1xuICBuYXZpZ2F0ZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IE5hdmlnYXRpb25OYXZpZ2F0ZU9wdGlvbnMpOiBGYWtlTmF2aWdhdGlvblJlc3VsdCB7XG4gICAgY29uc3QgZnJvbVVybCA9IG5ldyBVUkwodGhpcy5jdXJyZW50RW50cnkudXJsISk7XG4gICAgY29uc3QgdG9VcmwgPSBuZXcgVVJMKHVybCwgdGhpcy5jdXJyZW50RW50cnkudXJsISk7XG5cbiAgICBsZXQgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nO1xuICAgIGlmICghb3B0aW9ucz8uaGlzdG9yeSB8fCBvcHRpb25zLmhpc3RvcnkgPT09ICdhdXRvJykge1xuICAgICAgLy8gQXV0byBkZWZhdWx0cyB0byBwdXNoLCBidXQgaWYgdGhlIFVSTHMgYXJlIHRoZSBzYW1lLCBpcyBhIHJlcGxhY2UuXG4gICAgICBpZiAoZnJvbVVybC50b1N0cmluZygpID09PSB0b1VybC50b1N0cmluZygpKSB7XG4gICAgICAgIG5hdmlnYXRpb25UeXBlID0gJ3JlcGxhY2UnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmF2aWdhdGlvblR5cGUgPSAncHVzaCc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hdmlnYXRpb25UeXBlID0gb3B0aW9ucy5oaXN0b3J5O1xuICAgIH1cblxuICAgIGNvbnN0IGhhc2hDaGFuZ2UgPSBpc0hhc2hDaGFuZ2UoZnJvbVVybCwgdG9VcmwpO1xuXG4gICAgY29uc3QgZGVzdGluYXRpb24gPSBuZXcgRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbih7XG4gICAgICB1cmw6IHRvVXJsLnRvU3RyaW5nKCksXG4gICAgICBzdGF0ZTogb3B0aW9ucz8uc3RhdGUsXG4gICAgICBzYW1lRG9jdW1lbnQ6IGhhc2hDaGFuZ2UsXG4gICAgICBoaXN0b3J5U3RhdGU6IG51bGwsXG4gICAgfSk7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEludGVybmFsTmF2aWdhdGlvblJlc3VsdCgpO1xuXG4gICAgdGhpcy51c2VyQWdlbnROYXZpZ2F0ZShkZXN0aW5hdGlvbiwgcmVzdWx0LCB7XG4gICAgICBuYXZpZ2F0aW9uVHlwZSxcbiAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICBjYW5JbnRlcmNlcHQ6IHRydWUsXG4gICAgICAvLyBBbHdheXMgZmFsc2UgZm9yIG5hdmlnYXRlKCkuXG4gICAgICB1c2VySW5pdGlhdGVkOiBmYWxzZSxcbiAgICAgIGhhc2hDaGFuZ2UsXG4gICAgICBpbmZvOiBvcHRpb25zPy5pbmZvLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1pdHRlZDogcmVzdWx0LmNvbW1pdHRlZCxcbiAgICAgIGZpbmlzaGVkOiByZXN1bHQuZmluaXNoZWQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBoaXN0b3J5LnB1c2hTdGF0ZSgpYC4gKi9cbiAgcHVzaFN0YXRlKGRhdGE6IHVua25vd24sIHRpdGxlOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucHVzaE9yUmVwbGFjZVN0YXRlKCdwdXNoJywgZGF0YSwgdGl0bGUsIHVybCk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgaGlzdG9yeS5yZXBsYWNlU3RhdGUoKWAuICovXG4gIHJlcGxhY2VTdGF0ZShkYXRhOiB1bmtub3duLCB0aXRsZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnB1c2hPclJlcGxhY2VTdGF0ZSgncmVwbGFjZScsIGRhdGEsIHRpdGxlLCB1cmwpO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXNoT3JSZXBsYWNlU3RhdGUoXG4gICAgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nLFxuICAgIGRhdGE6IHVua25vd24sXG4gICAgX3RpdGxlOiBzdHJpbmcsXG4gICAgdXJsPzogc3RyaW5nLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBmcm9tVXJsID0gbmV3IFVSTCh0aGlzLmN1cnJlbnRFbnRyeS51cmwhKTtcbiAgICBjb25zdCB0b1VybCA9IHVybCA/IG5ldyBVUkwodXJsLCB0aGlzLmN1cnJlbnRFbnRyeS51cmwhKSA6IGZyb21Vcmw7XG5cbiAgICBjb25zdCBoYXNoQ2hhbmdlID0gaXNIYXNoQ2hhbmdlKGZyb21VcmwsIHRvVXJsKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24oe1xuICAgICAgdXJsOiB0b1VybC50b1N0cmluZygpLFxuICAgICAgc2FtZURvY3VtZW50OiB0cnVlLFxuICAgICAgaGlzdG9yeVN0YXRlOiBkYXRhLFxuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQoKTtcblxuICAgIHRoaXMudXNlckFnZW50TmF2aWdhdGUoZGVzdGluYXRpb24sIHJlc3VsdCwge1xuICAgICAgbmF2aWdhdGlvblR5cGUsXG4gICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgY2FuSW50ZXJjZXB0OiB0cnVlLFxuICAgICAgLy8gQWx3YXlzIGZhbHNlIGZvciBwdXNoU3RhdGUoKSBvciByZXBsYWNlU3RhdGUoKS5cbiAgICAgIHVzZXJJbml0aWF0ZWQ6IGZhbHNlLFxuICAgICAgaGFzaENoYW5nZSxcbiAgICAgIHNraXBQb3BTdGF0ZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBuYXZpZ2F0aW9uLnRyYXZlcnNlVG8oKWAuICovXG4gIHRyYXZlcnNlVG8oa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IEZha2VOYXZpZ2F0aW9uUmVzdWx0IHtcbiAgICBjb25zdCBmcm9tVXJsID0gbmV3IFVSTCh0aGlzLmN1cnJlbnRFbnRyeS51cmwhKTtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZmluZEVudHJ5KGtleSk7XG4gICAgaWYgKCFlbnRyeSkge1xuICAgICAgY29uc3QgZG9tRXhjZXB0aW9uID0gbmV3IERPTUV4Y2VwdGlvbignSW52YWxpZCBrZXknLCAnSW52YWxpZFN0YXRlRXJyb3InKTtcbiAgICAgIGNvbnN0IGNvbW1pdHRlZCA9IFByb21pc2UucmVqZWN0KGRvbUV4Y2VwdGlvbik7XG4gICAgICBjb25zdCBmaW5pc2hlZCA9IFByb21pc2UucmVqZWN0KGRvbUV4Y2VwdGlvbik7XG4gICAgICBjb21taXR0ZWQuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgZmluaXNoZWQuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29tbWl0dGVkLFxuICAgICAgICBmaW5pc2hlZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChlbnRyeSA9PT0gdGhpcy5jdXJyZW50RW50cnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1pdHRlZDogUHJvbWlzZS5yZXNvbHZlKHRoaXMuY3VycmVudEVudHJ5KSxcbiAgICAgICAgZmluaXNoZWQ6IFByb21pc2UucmVzb2x2ZSh0aGlzLmN1cnJlbnRFbnRyeSksXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodGhpcy50cmF2ZXJzYWxRdWV1ZS5oYXMoZW50cnkua2V5KSkge1xuICAgICAgY29uc3QgZXhpc3RpbmdSZXN1bHQgPSB0aGlzLnRyYXZlcnNhbFF1ZXVlLmdldChlbnRyeS5rZXkpITtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1pdHRlZDogZXhpc3RpbmdSZXN1bHQuY29tbWl0dGVkLFxuICAgICAgICBmaW5pc2hlZDogZXhpc3RpbmdSZXN1bHQuZmluaXNoZWQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGhhc2hDaGFuZ2UgPSBpc0hhc2hDaGFuZ2UoZnJvbVVybCwgbmV3IFVSTChlbnRyeS51cmwhLCB0aGlzLmN1cnJlbnRFbnRyeS51cmwhKSk7XG4gICAgY29uc3QgZGVzdGluYXRpb24gPSBuZXcgRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbih7XG4gICAgICB1cmw6IGVudHJ5LnVybCEsXG4gICAgICBzdGF0ZTogZW50cnkuZ2V0U3RhdGUoKSxcbiAgICAgIGhpc3RvcnlTdGF0ZTogZW50cnkuZ2V0SGlzdG9yeVN0YXRlKCksXG4gICAgICBrZXk6IGVudHJ5LmtleSxcbiAgICAgIGlkOiBlbnRyeS5pZCxcbiAgICAgIGluZGV4OiBlbnRyeS5pbmRleCxcbiAgICAgIHNhbWVEb2N1bWVudDogZW50cnkuc2FtZURvY3VtZW50LFxuICAgIH0pO1xuICAgIHRoaXMucHJvc3BlY3RpdmVFbnRyeUluZGV4ID0gZW50cnkuaW5kZXg7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEludGVybmFsTmF2aWdhdGlvblJlc3VsdCgpO1xuICAgIHRoaXMudHJhdmVyc2FsUXVldWUuc2V0KGVudHJ5LmtleSwgcmVzdWx0KTtcbiAgICB0aGlzLnJ1blRyYXZlcnNhbCgoKSA9PiB7XG4gICAgICB0aGlzLnRyYXZlcnNhbFF1ZXVlLmRlbGV0ZShlbnRyeS5rZXkpO1xuICAgICAgdGhpcy51c2VyQWdlbnROYXZpZ2F0ZShkZXN0aW5hdGlvbiwgcmVzdWx0LCB7XG4gICAgICAgIG5hdmlnYXRpb25UeXBlOiAndHJhdmVyc2UnLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICBjYW5JbnRlcmNlcHQ6IHRydWUsXG4gICAgICAgIC8vIEFsd2F5cyBmYWxzZSBmb3IgdHJhdmVyc2VUbygpLlxuICAgICAgICB1c2VySW5pdGlhdGVkOiBmYWxzZSxcbiAgICAgICAgaGFzaENoYW5nZSxcbiAgICAgICAgaW5mbzogb3B0aW9ucz8uaW5mbyxcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBjb21taXR0ZWQ6IHJlc3VsdC5jb21taXR0ZWQsXG4gICAgICBmaW5pc2hlZDogcmVzdWx0LmZpbmlzaGVkLFxuICAgIH07XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5iYWNrKClgLiAqL1xuICBiYWNrKG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IEZha2VOYXZpZ2F0aW9uUmVzdWx0IHtcbiAgICBpZiAodGhpcy5jdXJyZW50RW50cnlJbmRleCA9PT0gMCkge1xuICAgICAgY29uc3QgZG9tRXhjZXB0aW9uID0gbmV3IERPTUV4Y2VwdGlvbignQ2Fubm90IGdvIGJhY2snLCAnSW52YWxpZFN0YXRlRXJyb3InKTtcbiAgICAgIGNvbnN0IGNvbW1pdHRlZCA9IFByb21pc2UucmVqZWN0KGRvbUV4Y2VwdGlvbik7XG4gICAgICBjb25zdCBmaW5pc2hlZCA9IFByb21pc2UucmVqZWN0KGRvbUV4Y2VwdGlvbik7XG4gICAgICBjb21taXR0ZWQuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgZmluaXNoZWQuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29tbWl0dGVkLFxuICAgICAgICBmaW5pc2hlZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5lbnRyaWVzQXJyW3RoaXMuY3VycmVudEVudHJ5SW5kZXggLSAxXTtcbiAgICByZXR1cm4gdGhpcy50cmF2ZXJzZVRvKGVudHJ5LmtleSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5mb3J3YXJkKClgLiAqL1xuICBmb3J3YXJkKG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IEZha2VOYXZpZ2F0aW9uUmVzdWx0IHtcbiAgICBpZiAodGhpcy5jdXJyZW50RW50cnlJbmRleCA9PT0gdGhpcy5lbnRyaWVzQXJyLmxlbmd0aCAtIDEpIHtcbiAgICAgIGNvbnN0IGRvbUV4Y2VwdGlvbiA9IG5ldyBET01FeGNlcHRpb24oJ0Nhbm5vdCBnbyBmb3J3YXJkJywgJ0ludmFsaWRTdGF0ZUVycm9yJyk7XG4gICAgICBjb25zdCBjb21taXR0ZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29uc3QgZmluaXNoZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29tbWl0dGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIGZpbmlzaGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1pdHRlZCxcbiAgICAgICAgZmluaXNoZWQsXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cmllc0Fyclt0aGlzLmN1cnJlbnRFbnRyeUluZGV4ICsgMV07XG4gICAgcmV0dXJuIHRoaXMudHJhdmVyc2VUbyhlbnRyeS5rZXksIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVxdWl2YWxlbnQgdG8gYGhpc3RvcnkuZ28oKWAuXG4gICAqIE5vdGUgdGhhdCB0aGlzIG1ldGhvZCBkb2VzIG5vdCBhY3R1YWxseSB3b3JrIHByZWNpc2VseSB0byBob3cgQ2hyb21lXG4gICAqIGRvZXMsIGluc3RlYWQgY2hvb3NpbmcgYSBzaW1wbGVyIG1vZGVsIHdpdGggbGVzcyB1bmV4cGVjdGVkIGJlaGF2aW9yLlxuICAgKiBDaHJvbWUgaGFzIGEgZmV3IGVkZ2UgY2FzZSBvcHRpbWl6YXRpb25zLCBmb3IgaW5zdGFuY2Ugd2l0aCByZXBlYXRlZFxuICAgKiBgYmFjaygpOyBmb3J3YXJkKClgIGNoYWlucyBpdCBjb2xsYXBzZXMgY2VydGFpbiB0cmF2ZXJzYWxzLlxuICAgKi9cbiAgZ28oZGlyZWN0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRJbmRleCA9IHRoaXMucHJvc3BlY3RpdmVFbnRyeUluZGV4ICsgZGlyZWN0aW9uO1xuICAgIGlmICh0YXJnZXRJbmRleCA+PSB0aGlzLmVudHJpZXNBcnIubGVuZ3RoIHx8IHRhcmdldEluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnByb3NwZWN0aXZlRW50cnlJbmRleCA9IHRhcmdldEluZGV4O1xuICAgIHRoaXMucnVuVHJhdmVyc2FsKCgpID0+IHtcbiAgICAgIC8vIENoZWNrIGFnYWluIHRoYXQgZGVzdGluYXRpb24gaXMgaW4gdGhlIGVudHJpZXMgYXJyYXkuXG4gICAgICBpZiAodGFyZ2V0SW5kZXggPj0gdGhpcy5lbnRyaWVzQXJyLmxlbmd0aCB8fCB0YXJnZXRJbmRleCA8IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZnJvbVVybCA9IG5ldyBVUkwodGhpcy5jdXJyZW50RW50cnkudXJsISk7XG4gICAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cmllc0Fyclt0YXJnZXRJbmRleF07XG4gICAgICBjb25zdCBoYXNoQ2hhbmdlID0gaXNIYXNoQ2hhbmdlKGZyb21VcmwsIG5ldyBVUkwoZW50cnkudXJsISwgdGhpcy5jdXJyZW50RW50cnkudXJsISkpO1xuICAgICAgY29uc3QgZGVzdGluYXRpb24gPSBuZXcgRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbih7XG4gICAgICAgIHVybDogZW50cnkudXJsISxcbiAgICAgICAgc3RhdGU6IGVudHJ5LmdldFN0YXRlKCksXG4gICAgICAgIGhpc3RvcnlTdGF0ZTogZW50cnkuZ2V0SGlzdG9yeVN0YXRlKCksXG4gICAgICAgIGtleTogZW50cnkua2V5LFxuICAgICAgICBpZDogZW50cnkuaWQsXG4gICAgICAgIGluZGV4OiBlbnRyeS5pbmRleCxcbiAgICAgICAgc2FtZURvY3VtZW50OiBlbnRyeS5zYW1lRG9jdW1lbnQsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQoKTtcbiAgICAgIHRoaXMudXNlckFnZW50TmF2aWdhdGUoZGVzdGluYXRpb24sIHJlc3VsdCwge1xuICAgICAgICBuYXZpZ2F0aW9uVHlwZTogJ3RyYXZlcnNlJyxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY2FuSW50ZXJjZXB0OiB0cnVlLFxuICAgICAgICAvLyBBbHdheXMgZmFsc2UgZm9yIGdvKCkuXG4gICAgICAgIHVzZXJJbml0aWF0ZWQ6IGZhbHNlLFxuICAgICAgICBoYXNoQ2hhbmdlLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogUnVucyBhIHRyYXZlcnNhbCBzeW5jaHJvbm91c2x5IG9yIGFzeW5jaHJvbm91c2x5ICovXG4gIHByaXZhdGUgcnVuVHJhdmVyc2FsKHRyYXZlcnNhbDogKCkgPT4gdm9pZCkge1xuICAgIGlmICh0aGlzLnN5bmNocm9ub3VzVHJhdmVyc2Fscykge1xuICAgICAgdHJhdmVyc2FsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRWFjaCB0cmF2ZXJzYWwgb2NjdXBpZXMgYSBzaW5nbGUgdGltZW91dCByZXNvbHV0aW9uLlxuICAgIC8vIFRoaXMgbWVhbnMgdGhhdCBQcm9taXNlcyBhZGRlZCB0byBjb21taXQgYW5kIGZpbmlzaCBzaG91bGQgcmVzb2x2ZVxuICAgIC8vIGJlZm9yZSB0aGUgbmV4dCB0cmF2ZXJzYWwuXG4gICAgdGhpcy5uZXh0VHJhdmVyc2FsID0gdGhpcy5uZXh0VHJhdmVyc2FsLnRoZW4oKCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICB0cmF2ZXJzYWwoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoKWAuICovXG4gIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGNhbGxiYWNrOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB8IGJvb2xlYW4sXG4gICkge1xuICAgIHRoaXMuZXZlbnRUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBjYWxsYmFjaywgb3B0aW9ucyk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKClgLiAqL1xuICByZW1vdmVFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBjYWxsYmFjazogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBib29sZWFuLFxuICApIHtcbiAgICB0aGlzLmV2ZW50VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgY2FsbGJhY2ssIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYG5hdmlnYXRpb24uZGlzcGF0Y2hFdmVudCgpYCAqL1xuICBkaXNwYXRjaEV2ZW50KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICB9XG5cbiAgLyoqIENsZWFucyB1cCByZXNvdXJjZXMuICovXG4gIGRpc3Bvc2UoKSB7XG4gICAgLy8gUmVjcmVhdGUgZXZlbnRUYXJnZXQgdG8gcmVsZWFzZSBjdXJyZW50IGxpc3RlbmVycy5cbiAgICAvLyBgZG9jdW1lbnQuY3JlYXRlRWxlbWVudGAgYmVjYXVzZSBOb2RlSlMgYEV2ZW50VGFyZ2V0YCBpcyBpbmNvbXBhdGlibGUgd2l0aCBEb21pbm8ncyBgRXZlbnRgLlxuICAgIHRoaXMuZXZlbnRUYXJnZXQgPSB0aGlzLndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLmRpc3Bvc2VkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgdGhpcyBmYWtlIGlzIGRpc3Bvc2VkLiAqL1xuICBpc0Rpc3Bvc2VkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc3Bvc2VkO1xuICB9XG5cbiAgLyoqIEltcGxlbWVudGF0aW9uIGZvciBhbGwgbmF2aWdhdGlvbnMgYW5kIHRyYXZlcnNhbHMuICovXG4gIHByaXZhdGUgdXNlckFnZW50TmF2aWdhdGUoXG4gICAgZGVzdGluYXRpb246IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24sXG4gICAgcmVzdWx0OiBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQsXG4gICAgb3B0aW9uczogSW50ZXJuYWxOYXZpZ2F0ZU9wdGlvbnMsXG4gICkge1xuICAgIC8vIFRoZSBmaXJzdCBuYXZpZ2F0aW9uIHNob3VsZCBkaXNhbGxvdyBhbnkgZnV0dXJlIGNhbGxzIHRvIHNldCB0aGUgaW5pdGlhbFxuICAgIC8vIGVudHJ5LlxuICAgIHRoaXMuY2FuU2V0SW5pdGlhbEVudHJ5ID0gZmFsc2U7XG4gICAgaWYgKHRoaXMubmF2aWdhdGVFdmVudCkge1xuICAgICAgdGhpcy5uYXZpZ2F0ZUV2ZW50LmNhbmNlbChuZXcgRE9NRXhjZXB0aW9uKCdOYXZpZ2F0aW9uIHdhcyBhYm9ydGVkJywgJ0Fib3J0RXJyb3InKSk7XG4gICAgICB0aGlzLm5hdmlnYXRlRXZlbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgbmF2aWdhdGVFdmVudCA9IGNyZWF0ZUZha2VOYXZpZ2F0ZUV2ZW50KHtcbiAgICAgIG5hdmlnYXRpb25UeXBlOiBvcHRpb25zLm5hdmlnYXRpb25UeXBlLFxuICAgICAgY2FuY2VsYWJsZTogb3B0aW9ucy5jYW5jZWxhYmxlLFxuICAgICAgY2FuSW50ZXJjZXB0OiBvcHRpb25zLmNhbkludGVyY2VwdCxcbiAgICAgIHVzZXJJbml0aWF0ZWQ6IG9wdGlvbnMudXNlckluaXRpYXRlZCxcbiAgICAgIGhhc2hDaGFuZ2U6IG9wdGlvbnMuaGFzaENoYW5nZSxcbiAgICAgIHNpZ25hbDogcmVzdWx0LnNpZ25hbCxcbiAgICAgIGRlc3RpbmF0aW9uLFxuICAgICAgaW5mbzogb3B0aW9ucy5pbmZvLFxuICAgICAgc2FtZURvY3VtZW50OiBkZXN0aW5hdGlvbi5zYW1lRG9jdW1lbnQsXG4gICAgICBza2lwUG9wU3RhdGU6IG9wdGlvbnMuc2tpcFBvcFN0YXRlLFxuICAgICAgcmVzdWx0LFxuICAgICAgdXNlckFnZW50Q29tbWl0OiAoKSA9PiB7XG4gICAgICAgIHRoaXMudXNlckFnZW50Q29tbWl0KCk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5uYXZpZ2F0ZUV2ZW50ID0gbmF2aWdhdGVFdmVudDtcbiAgICB0aGlzLmV2ZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQobmF2aWdhdGVFdmVudCk7XG4gICAgbmF2aWdhdGVFdmVudC5kaXNwYXRjaGVkTmF2aWdhdGVFdmVudCgpO1xuICAgIGlmIChuYXZpZ2F0ZUV2ZW50LmNvbW1pdE9wdGlvbiA9PT0gJ2ltbWVkaWF0ZScpIHtcbiAgICAgIG5hdmlnYXRlRXZlbnQuY29tbWl0KC8qIGludGVybmFsPSAqLyB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKiogSW1wbGVtZW50YXRpb24gdG8gY29tbWl0IGEgbmF2aWdhdGlvbi4gKi9cbiAgcHJpdmF0ZSB1c2VyQWdlbnRDb21taXQoKSB7XG4gICAgaWYgKCF0aGlzLm5hdmlnYXRlRXZlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZnJvbSA9IHRoaXMuY3VycmVudEVudHJ5O1xuICAgIGlmICghdGhpcy5uYXZpZ2F0ZUV2ZW50LnNhbWVEb2N1bWVudCkge1xuICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoJ0Nhbm5vdCBuYXZpZ2F0ZSB0byBhIG5vbi1zYW1lLWRvY3VtZW50IFVSTC4nKTtcbiAgICAgIHRoaXMubmF2aWdhdGVFdmVudC5jYW5jZWwoZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMubmF2aWdhdGVFdmVudC5uYXZpZ2F0aW9uVHlwZSA9PT0gJ3B1c2gnIHx8XG4gICAgICB0aGlzLm5hdmlnYXRlRXZlbnQubmF2aWdhdGlvblR5cGUgPT09ICdyZXBsYWNlJ1xuICAgICkge1xuICAgICAgdGhpcy51c2VyQWdlbnRQdXNoT3JSZXBsYWNlKHRoaXMubmF2aWdhdGVFdmVudC5kZXN0aW5hdGlvbiwge1xuICAgICAgICBuYXZpZ2F0aW9uVHlwZTogdGhpcy5uYXZpZ2F0ZUV2ZW50Lm5hdmlnYXRpb25UeXBlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5hdmlnYXRlRXZlbnQubmF2aWdhdGlvblR5cGUgPT09ICd0cmF2ZXJzZScpIHtcbiAgICAgIHRoaXMudXNlckFnZW50VHJhdmVyc2UodGhpcy5uYXZpZ2F0ZUV2ZW50LmRlc3RpbmF0aW9uKTtcbiAgICB9XG4gICAgdGhpcy5uYXZpZ2F0ZUV2ZW50LnVzZXJBZ2VudE5hdmlnYXRlZCh0aGlzLmN1cnJlbnRFbnRyeSk7XG4gICAgY29uc3QgY3VycmVudEVudHJ5Q2hhbmdlRXZlbnQgPSBjcmVhdGVGYWtlTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50KHtcbiAgICAgIGZyb20sXG4gICAgICBuYXZpZ2F0aW9uVHlwZTogdGhpcy5uYXZpZ2F0ZUV2ZW50Lm5hdmlnYXRpb25UeXBlLFxuICAgIH0pO1xuICAgIHRoaXMuZXZlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudChjdXJyZW50RW50cnlDaGFuZ2VFdmVudCk7XG4gICAgaWYgKCF0aGlzLm5hdmlnYXRlRXZlbnQuc2tpcFBvcFN0YXRlKSB7XG4gICAgICBjb25zdCBwb3BTdGF0ZUV2ZW50ID0gY3JlYXRlUG9wU3RhdGVFdmVudCh7XG4gICAgICAgIHN0YXRlOiB0aGlzLm5hdmlnYXRlRXZlbnQuZGVzdGluYXRpb24uZ2V0SGlzdG9yeVN0YXRlKCksXG4gICAgICB9KTtcbiAgICAgIHRoaXMud2luZG93LmRpc3BhdGNoRXZlbnQocG9wU3RhdGVFdmVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEltcGxlbWVudGF0aW9uIGZvciBhIHB1c2ggb3IgcmVwbGFjZSBuYXZpZ2F0aW9uLiAqL1xuICBwcml2YXRlIHVzZXJBZ2VudFB1c2hPclJlcGxhY2UoXG4gICAgZGVzdGluYXRpb246IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24sXG4gICAge25hdmlnYXRpb25UeXBlfToge25hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZ30sXG4gICkge1xuICAgIGlmIChuYXZpZ2F0aW9uVHlwZSA9PT0gJ3B1c2gnKSB7XG4gICAgICB0aGlzLmN1cnJlbnRFbnRyeUluZGV4Kys7XG4gICAgICB0aGlzLnByb3NwZWN0aXZlRW50cnlJbmRleCA9IHRoaXMuY3VycmVudEVudHJ5SW5kZXg7XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jdXJyZW50RW50cnlJbmRleDtcbiAgICBjb25zdCBrZXkgPSBuYXZpZ2F0aW9uVHlwZSA9PT0gJ3B1c2gnID8gU3RyaW5nKHRoaXMubmV4dEtleSsrKSA6IHRoaXMuY3VycmVudEVudHJ5LmtleTtcbiAgICBjb25zdCBlbnRyeSA9IG5ldyBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeShkZXN0aW5hdGlvbi51cmwsIHtcbiAgICAgIGlkOiBTdHJpbmcodGhpcy5uZXh0SWQrKyksXG4gICAgICBrZXksXG4gICAgICBpbmRleCxcbiAgICAgIHNhbWVEb2N1bWVudDogdHJ1ZSxcbiAgICAgIHN0YXRlOiBkZXN0aW5hdGlvbi5nZXRTdGF0ZSgpLFxuICAgICAgaGlzdG9yeVN0YXRlOiBkZXN0aW5hdGlvbi5nZXRIaXN0b3J5U3RhdGUoKSxcbiAgICB9KTtcbiAgICBpZiAobmF2aWdhdGlvblR5cGUgPT09ICdwdXNoJykge1xuICAgICAgdGhpcy5lbnRyaWVzQXJyLnNwbGljZShpbmRleCwgSW5maW5pdHksIGVudHJ5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbnRyaWVzQXJyW2luZGV4XSA9IGVudHJ5O1xuICAgIH1cbiAgfVxuXG4gIC8qKiBJbXBsZW1lbnRhdGlvbiBmb3IgYSB0cmF2ZXJzZSBuYXZpZ2F0aW9uLiAqL1xuICBwcml2YXRlIHVzZXJBZ2VudFRyYXZlcnNlKGRlc3RpbmF0aW9uOiBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uKSB7XG4gICAgdGhpcy5jdXJyZW50RW50cnlJbmRleCA9IGRlc3RpbmF0aW9uLmluZGV4O1xuICB9XG5cbiAgLyoqIFV0aWxpdHkgbWV0aG9kIGZvciBmaW5kaW5nIGVudHJpZXMgd2l0aCB0aGUgZ2l2ZW4gYGtleWAuICovXG4gIHByaXZhdGUgZmluZEVudHJ5KGtleTogc3RyaW5nKSB7XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiB0aGlzLmVudHJpZXNBcnIpIHtcbiAgICAgIGlmIChlbnRyeS5rZXkgPT09IGtleSkgcmV0dXJuIGVudHJ5O1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0IG9ubmF2aWdhdGUoX2hhbmRsZXI6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IE5hdmlnYXRlRXZlbnQpID0+IGFueSkgfCBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICBnZXQgb25uYXZpZ2F0ZSgpOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0ZUV2ZW50KSA9PiBhbnkpIHwgbnVsbCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICBzZXQgb25jdXJyZW50ZW50cnljaGFuZ2UoXG4gICAgX2hhbmRsZXI6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCkgPT4gYW55KSB8IG51bGwsXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZ2V0IG9uY3VycmVudGVudHJ5Y2hhbmdlKCk6XG4gICAgfCAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQpID0+IGFueSlcbiAgICB8IG51bGwge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgc2V0IG9ubmF2aWdhdGVzdWNjZXNzKF9oYW5kbGVyOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBFdmVudCkgPT4gYW55KSB8IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldCBvbm5hdmlnYXRlc3VjY2VzcygpOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBFdmVudCkgPT4gYW55KSB8IG51bGwge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgc2V0IG9ubmF2aWdhdGVlcnJvcihfaGFuZGxlcjogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogRXJyb3JFdmVudCkgPT4gYW55KSB8IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldCBvbm5hdmlnYXRlZXJyb3IoKTogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogRXJyb3JFdmVudCkgPT4gYW55KSB8IG51bGwge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZ2V0IHRyYW5zaXRpb24oKTogTmF2aWdhdGlvblRyYW5zaXRpb24gfCBudWxsIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHVwZGF0ZUN1cnJlbnRFbnRyeShfb3B0aW9uczogTmF2aWdhdGlvblVwZGF0ZUN1cnJlbnRFbnRyeU9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHJlbG9hZChfb3B0aW9ucz86IE5hdmlnYXRpb25SZWxvYWRPcHRpb25zKTogTmF2aWdhdGlvblJlc3VsdCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBGYWtlIGVxdWl2YWxlbnQgb2YgdGhlIGBOYXZpZ2F0aW9uUmVzdWx0YCBpbnRlcmZhY2Ugd2l0aFxuICogYEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5YC5cbiAqL1xuaW50ZXJmYWNlIEZha2VOYXZpZ2F0aW9uUmVzdWx0IGV4dGVuZHMgTmF2aWdhdGlvblJlc3VsdCB7XG4gIHJlYWRvbmx5IGNvbW1pdHRlZDogUHJvbWlzZTxGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeT47XG4gIHJlYWRvbmx5IGZpbmlzaGVkOiBQcm9taXNlPEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5Pjtcbn1cblxuLyoqXG4gKiBGYWtlIGVxdWl2YWxlbnQgb2YgYE5hdmlnYXRpb25IaXN0b3J5RW50cnlgLlxuICovXG5leHBvcnQgY2xhc3MgRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnkgaW1wbGVtZW50cyBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5IHtcbiAgcmVhZG9ubHkgc2FtZURvY3VtZW50O1xuXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuICByZWFkb25seSBpbmRleDogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlOiB1bmtub3duO1xuICBwcml2YXRlIHJlYWRvbmx5IGhpc3RvcnlTdGF0ZTogdW5rbm93bjtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG4gIG9uZGlzcG9zZTogKCh0aGlzOiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5LCBldjogRXZlbnQpID0+IGFueSkgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSB1cmw6IHN0cmluZyB8IG51bGwsXG4gICAge1xuICAgICAgaWQsXG4gICAgICBrZXksXG4gICAgICBpbmRleCxcbiAgICAgIHNhbWVEb2N1bWVudCxcbiAgICAgIHN0YXRlLFxuICAgICAgaGlzdG9yeVN0YXRlLFxuICAgIH06IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBrZXk6IHN0cmluZztcbiAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgICBzYW1lRG9jdW1lbnQ6IGJvb2xlYW47XG4gICAgICBoaXN0b3J5U3RhdGU6IHVua25vd247XG4gICAgICBzdGF0ZT86IHVua25vd247XG4gICAgfSxcbiAgKSB7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMuaW5kZXggPSBpbmRleDtcbiAgICB0aGlzLnNhbWVEb2N1bWVudCA9IHNhbWVEb2N1bWVudDtcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5oaXN0b3J5U3RhdGUgPSBoaXN0b3J5U3RhdGU7XG4gIH1cblxuICBnZXRTdGF0ZSgpOiB1bmtub3duIHtcbiAgICAvLyBCdWRnZXQgY29weS5cbiAgICByZXR1cm4gdGhpcy5zdGF0ZSA/IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5zdGF0ZSkpIDogdGhpcy5zdGF0ZTtcbiAgfVxuXG4gIGdldEhpc3RvcnlTdGF0ZSgpOiB1bmtub3duIHtcbiAgICAvLyBCdWRnZXQgY29weS5cbiAgICByZXR1cm4gdGhpcy5oaXN0b3J5U3RhdGUgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuaGlzdG9yeVN0YXRlKSkgOiB0aGlzLmhpc3RvcnlTdGF0ZTtcbiAgfVxuXG4gIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGNhbGxiYWNrOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB8IGJvb2xlYW4sXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgY2FsbGJhY2s6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsXG4gICAgb3B0aW9ucz86IEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgYm9vbGVhbixcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICBkaXNwYXRjaEV2ZW50KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG59XG5cbi8qKiBgTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnNgIHdpdGggZXhwZXJpbWVudGFsIGNvbW1pdCBvcHRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEV4cGVyaW1lbnRhbE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zIGV4dGVuZHMgTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMge1xuICBjb21taXQ/OiAnaW1tZWRpYXRlJyB8ICdhZnRlci10cmFuc2l0aW9uJztcbn1cblxuLyoqIGBOYXZpZ2F0ZUV2ZW50YCB3aXRoIGV4cGVyaW1lbnRhbCBjb21taXQgZnVuY3Rpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEV4cGVyaW1lbnRhbE5hdmlnYXRlRXZlbnQgZXh0ZW5kcyBOYXZpZ2F0ZUV2ZW50IHtcbiAgaW50ZXJjZXB0KG9wdGlvbnM/OiBFeHBlcmltZW50YWxOYXZpZ2F0aW9uSW50ZXJjZXB0T3B0aW9ucyk6IHZvaWQ7XG5cbiAgY29tbWl0KCk6IHZvaWQ7XG59XG5cbi8qKlxuICogRmFrZSBlcXVpdmFsZW50IG9mIGBOYXZpZ2F0ZUV2ZW50YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGYWtlTmF2aWdhdGVFdmVudCBleHRlbmRzIEV4cGVyaW1lbnRhbE5hdmlnYXRlRXZlbnQge1xuICByZWFkb25seSBkZXN0aW5hdGlvbjogRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbjtcbn1cblxuaW50ZXJmYWNlIEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQgZXh0ZW5kcyBGYWtlTmF2aWdhdGVFdmVudCB7XG4gIHJlYWRvbmx5IHNhbWVEb2N1bWVudDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc2tpcFBvcFN0YXRlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY29tbWl0T3B0aW9uOiAnYWZ0ZXItdHJhbnNpdGlvbicgfCAnaW1tZWRpYXRlJztcbiAgcmVhZG9ubHkgcmVzdWx0OiBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQ7XG5cbiAgY29tbWl0KGludGVybmFsPzogYm9vbGVhbik6IHZvaWQ7XG4gIGNhbmNlbChyZWFzb246IEVycm9yKTogdm9pZDtcbiAgZGlzcGF0Y2hlZE5hdmlnYXRlRXZlbnQoKTogdm9pZDtcbiAgdXNlckFnZW50TmF2aWdhdGVkKGVudHJ5OiBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSk6IHZvaWQ7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgZmFrZSBlcXVpdmFsZW50IG9mIGBOYXZpZ2F0ZUV2ZW50YC4gVGhpcyBpcyBub3QgYSBjbGFzcyBiZWNhdXNlIEVTNVxuICogdHJhbnNwaWxlZCBKYXZhU2NyaXB0IGNhbm5vdCBleHRlbmQgbmF0aXZlIEV2ZW50LlxuICovXG5mdW5jdGlvbiBjcmVhdGVGYWtlTmF2aWdhdGVFdmVudCh7XG4gIGNhbmNlbGFibGUsXG4gIGNhbkludGVyY2VwdCxcbiAgdXNlckluaXRpYXRlZCxcbiAgaGFzaENoYW5nZSxcbiAgbmF2aWdhdGlvblR5cGUsXG4gIHNpZ25hbCxcbiAgZGVzdGluYXRpb24sXG4gIGluZm8sXG4gIHNhbWVEb2N1bWVudCxcbiAgc2tpcFBvcFN0YXRlLFxuICByZXN1bHQsXG4gIHVzZXJBZ2VudENvbW1pdCxcbn06IHtcbiAgY2FuY2VsYWJsZTogYm9vbGVhbjtcbiAgY2FuSW50ZXJjZXB0OiBib29sZWFuO1xuICB1c2VySW5pdGlhdGVkOiBib29sZWFuO1xuICBoYXNoQ2hhbmdlOiBib29sZWFuO1xuICBuYXZpZ2F0aW9uVHlwZTogTmF2aWdhdGlvblR5cGVTdHJpbmc7XG4gIHNpZ25hbDogQWJvcnRTaWduYWw7XG4gIGRlc3RpbmF0aW9uOiBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uO1xuICBpbmZvOiB1bmtub3duO1xuICBzYW1lRG9jdW1lbnQ6IGJvb2xlYW47XG4gIHNraXBQb3BTdGF0ZT86IGJvb2xlYW47XG4gIHJlc3VsdDogSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0O1xuICB1c2VyQWdlbnRDb21taXQ6ICgpID0+IHZvaWQ7XG59KSB7XG4gIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCduYXZpZ2F0ZScsIHtidWJibGVzOiBmYWxzZSwgY2FuY2VsYWJsZX0pIGFzIHtcbiAgICAtcmVhZG9ubHkgW1AgaW4ga2V5b2YgSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudF06IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnRbUF07XG4gIH07XG4gIGV2ZW50LmNhbkludGVyY2VwdCA9IGNhbkludGVyY2VwdDtcbiAgZXZlbnQudXNlckluaXRpYXRlZCA9IHVzZXJJbml0aWF0ZWQ7XG4gIGV2ZW50Lmhhc2hDaGFuZ2UgPSBoYXNoQ2hhbmdlO1xuICBldmVudC5uYXZpZ2F0aW9uVHlwZSA9IG5hdmlnYXRpb25UeXBlO1xuICBldmVudC5zaWduYWwgPSBzaWduYWw7XG4gIGV2ZW50LmRlc3RpbmF0aW9uID0gZGVzdGluYXRpb247XG4gIGV2ZW50LmluZm8gPSBpbmZvO1xuICBldmVudC5kb3dubG9hZFJlcXVlc3QgPSBudWxsO1xuICBldmVudC5mb3JtRGF0YSA9IG51bGw7XG5cbiAgZXZlbnQuc2FtZURvY3VtZW50ID0gc2FtZURvY3VtZW50O1xuICBldmVudC5za2lwUG9wU3RhdGUgPSBza2lwUG9wU3RhdGU7XG4gIGV2ZW50LmNvbW1pdE9wdGlvbiA9ICdpbW1lZGlhdGUnO1xuXG4gIGxldCBoYW5kbGVyRmluaXNoZWQ6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIGxldCBpbnRlcmNlcHRDYWxsZWQgPSBmYWxzZTtcbiAgbGV0IGRpc3BhdGNoZWROYXZpZ2F0ZUV2ZW50ID0gZmFsc2U7XG4gIGxldCBjb21taXRDYWxsZWQgPSBmYWxzZTtcblxuICBldmVudC5pbnRlcmNlcHQgPSBmdW5jdGlvbiAoXG4gICAgdGhpczogSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudCxcbiAgICBvcHRpb25zPzogRXhwZXJpbWVudGFsTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMsXG4gICk6IHZvaWQge1xuICAgIGludGVyY2VwdENhbGxlZCA9IHRydWU7XG4gICAgZXZlbnQuc2FtZURvY3VtZW50ID0gdHJ1ZTtcbiAgICBjb25zdCBoYW5kbGVyID0gb3B0aW9ucz8uaGFuZGxlcjtcbiAgICBpZiAoaGFuZGxlcikge1xuICAgICAgaGFuZGxlckZpbmlzaGVkID0gaGFuZGxlcigpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucz8uY29tbWl0KSB7XG4gICAgICBldmVudC5jb21taXRPcHRpb24gPSBvcHRpb25zLmNvbW1pdDtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LmZvY3VzUmVzZXQgIT09IHVuZGVmaW5lZCB8fCBvcHRpb25zPy5zY3JvbGwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gICAgfVxuICB9O1xuXG4gIGV2ZW50LnNjcm9sbCA9IGZ1bmN0aW9uICh0aGlzOiBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50KTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH07XG5cbiAgZXZlbnQuY29tbWl0ID0gZnVuY3Rpb24gKHRoaXM6IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQsIGludGVybmFsID0gZmFsc2UpIHtcbiAgICBpZiAoIWludGVybmFsICYmICFpbnRlcmNlcHRDYWxsZWQpIHtcbiAgICAgIHRocm93IG5ldyBET01FeGNlcHRpb24oXG4gICAgICAgIGBGYWlsZWQgdG8gZXhlY3V0ZSAnY29tbWl0JyBvbiAnTmF2aWdhdGVFdmVudCc6IGludGVyY2VwdCgpIG11c3QgYmUgYCArXG4gICAgICAgICAgYGNhbGxlZCBiZWZvcmUgY29tbWl0KCkuYCxcbiAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghZGlzcGF0Y2hlZE5hdmlnYXRlRXZlbnQpIHtcbiAgICAgIHRocm93IG5ldyBET01FeGNlcHRpb24oXG4gICAgICAgIGBGYWlsZWQgdG8gZXhlY3V0ZSAnY29tbWl0JyBvbiAnTmF2aWdhdGVFdmVudCc6IGNvbW1pdCgpIG1heSBub3QgYmUgYCArXG4gICAgICAgICAgYGNhbGxlZCBkdXJpbmcgZXZlbnQgZGlzcGF0Y2guYCxcbiAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChjb21taXRDYWxsZWQpIHtcbiAgICAgIHRocm93IG5ldyBET01FeGNlcHRpb24oXG4gICAgICAgIGBGYWlsZWQgdG8gZXhlY3V0ZSAnY29tbWl0JyBvbiAnTmF2aWdhdGVFdmVudCc6IGNvbW1pdCgpIGFscmVhZHkgYCArIGBjYWxsZWQuYCxcbiAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbW1pdENhbGxlZCA9IHRydWU7XG5cbiAgICB1c2VyQWdlbnRDb21taXQoKTtcbiAgfTtcblxuICAvLyBJbnRlcm5hbCBvbmx5LlxuICBldmVudC5jYW5jZWwgPSBmdW5jdGlvbiAodGhpczogSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudCwgcmVhc29uOiBFcnJvcikge1xuICAgIHJlc3VsdC5jb21taXR0ZWRSZWplY3QocmVhc29uKTtcbiAgICByZXN1bHQuZmluaXNoZWRSZWplY3QocmVhc29uKTtcbiAgfTtcblxuICAvLyBJbnRlcm5hbCBvbmx5LlxuICBldmVudC5kaXNwYXRjaGVkTmF2aWdhdGVFdmVudCA9IGZ1bmN0aW9uICh0aGlzOiBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50KSB7XG4gICAgZGlzcGF0Y2hlZE5hdmlnYXRlRXZlbnQgPSB0cnVlO1xuICAgIGlmIChldmVudC5jb21taXRPcHRpb24gPT09ICdhZnRlci10cmFuc2l0aW9uJykge1xuICAgICAgLy8gSWYgaGFuZGxlciBmaW5pc2hlcyBiZWZvcmUgY29tbWl0LCBjYWxsIGNvbW1pdC5cbiAgICAgIGhhbmRsZXJGaW5pc2hlZD8udGhlbihcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICghY29tbWl0Q2FsbGVkKSB7XG4gICAgICAgICAgICBldmVudC5jb21taXQoLyogaW50ZXJuYWwgKi8gdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7fSxcbiAgICAgICk7XG4gICAgfVxuICAgIFByb21pc2UuYWxsKFtyZXN1bHQuY29tbWl0dGVkLCBoYW5kbGVyRmluaXNoZWRdKS50aGVuKFxuICAgICAgKFtlbnRyeV0pID0+IHtcbiAgICAgICAgcmVzdWx0LmZpbmlzaGVkUmVzb2x2ZShlbnRyeSk7XG4gICAgICB9LFxuICAgICAgKHJlYXNvbikgPT4ge1xuICAgICAgICByZXN1bHQuZmluaXNoZWRSZWplY3QocmVhc29uKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfTtcblxuICAvLyBJbnRlcm5hbCBvbmx5LlxuICBldmVudC51c2VyQWdlbnROYXZpZ2F0ZWQgPSBmdW5jdGlvbiAoXG4gICAgdGhpczogSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudCxcbiAgICBlbnRyeTogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnksXG4gICkge1xuICAgIHJlc3VsdC5jb21taXR0ZWRSZXNvbHZlKGVudHJ5KTtcbiAgfTtcblxuICByZXR1cm4gZXZlbnQgYXMgSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudDtcbn1cblxuLyoqIEZha2UgZXF1aXZhbGVudCBvZiBgTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50YC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFrZU5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCBleHRlbmRzIE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCB7XG4gIHJlYWRvbmx5IGZyb206IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZha2UgZXF1aXZhbGVudCBvZiBgTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZWAuIFRoaXMgZG9lcyBub3QgdXNlXG4gKiBhIGNsYXNzIGJlY2F1c2UgRVM1IHRyYW5zcGlsZWQgSmF2YVNjcmlwdCBjYW5ub3QgZXh0ZW5kIG5hdGl2ZSBFdmVudC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlRmFrZU5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCh7XG4gIGZyb20sXG4gIG5hdmlnYXRpb25UeXBlLFxufToge1xuICBmcm9tOiBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeTtcbiAgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nO1xufSkge1xuICBjb25zdCBldmVudCA9IG5ldyBFdmVudCgnY3VycmVudGVudHJ5Y2hhbmdlJywge1xuICAgIGJ1YmJsZXM6IGZhbHNlLFxuICAgIGNhbmNlbGFibGU6IGZhbHNlLFxuICB9KSBhcyB7XG4gICAgLXJlYWRvbmx5IFtQIGluIGtleW9mIE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudF06IE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudFtQXTtcbiAgfTtcbiAgZXZlbnQuZnJvbSA9IGZyb207XG4gIGV2ZW50Lm5hdmlnYXRpb25UeXBlID0gbmF2aWdhdGlvblR5cGU7XG4gIHJldHVybiBldmVudCBhcyBGYWtlTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZha2UgZXF1aXZhbGVudCBvZiBgUG9wU3RhdGVFdmVudGAuIFRoaXMgZG9lcyBub3QgdXNlIGEgY2xhc3NcbiAqIGJlY2F1c2UgRVM1IHRyYW5zcGlsZWQgSmF2YVNjcmlwdCBjYW5ub3QgZXh0ZW5kIG5hdGl2ZSBFdmVudC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlUG9wU3RhdGVFdmVudCh7c3RhdGV9OiB7c3RhdGU6IHVua25vd259KSB7XG4gIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCdwb3BzdGF0ZScsIHtcbiAgICBidWJibGVzOiBmYWxzZSxcbiAgICBjYW5jZWxhYmxlOiBmYWxzZSxcbiAgfSkgYXMgey1yZWFkb25seSBbUCBpbiBrZXlvZiBQb3BTdGF0ZUV2ZW50XTogUG9wU3RhdGVFdmVudFtQXX07XG4gIGV2ZW50LnN0YXRlID0gc3RhdGU7XG4gIHJldHVybiBldmVudCBhcyBQb3BTdGF0ZUV2ZW50O1xufVxuXG4vKipcbiAqIEZha2UgZXF1aXZhbGVudCBvZiBgTmF2aWdhdGlvbkRlc3RpbmF0aW9uYC5cbiAqL1xuZXhwb3J0IGNsYXNzIEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24gaW1wbGVtZW50cyBOYXZpZ2F0aW9uRGVzdGluYXRpb24ge1xuICByZWFkb25seSB1cmw6IHN0cmluZztcbiAgcmVhZG9ubHkgc2FtZURvY3VtZW50OiBib29sZWFuO1xuICByZWFkb25seSBrZXk6IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBpbmRleDogbnVtYmVyO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdGU/OiB1bmtub3duO1xuICBwcml2YXRlIHJlYWRvbmx5IGhpc3RvcnlTdGF0ZTogdW5rbm93bjtcblxuICBjb25zdHJ1Y3Rvcih7XG4gICAgdXJsLFxuICAgIHNhbWVEb2N1bWVudCxcbiAgICBoaXN0b3J5U3RhdGUsXG4gICAgc3RhdGUsXG4gICAga2V5ID0gbnVsbCxcbiAgICBpZCA9IG51bGwsXG4gICAgaW5kZXggPSAtMSxcbiAgfToge1xuICAgIHVybDogc3RyaW5nO1xuICAgIHNhbWVEb2N1bWVudDogYm9vbGVhbjtcbiAgICBoaXN0b3J5U3RhdGU6IHVua25vd247XG4gICAgc3RhdGU/OiB1bmtub3duO1xuICAgIGtleT86IHN0cmluZyB8IG51bGw7XG4gICAgaWQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSB7XG4gICAgdGhpcy51cmwgPSB1cmw7XG4gICAgdGhpcy5zYW1lRG9jdW1lbnQgPSBzYW1lRG9jdW1lbnQ7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuaGlzdG9yeVN0YXRlID0gaGlzdG9yeVN0YXRlO1xuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gIH1cblxuICBnZXRTdGF0ZSgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZTtcbiAgfVxuXG4gIGdldEhpc3RvcnlTdGF0ZSgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5oaXN0b3J5U3RhdGU7XG4gIH1cbn1cblxuLyoqIFV0aWxpdHkgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdHdvIFVybExpa2UgaGF2ZSB0aGUgc2FtZSBoYXNoLiAqL1xuZnVuY3Rpb24gaXNIYXNoQ2hhbmdlKGZyb206IFVSTCwgdG86IFVSTCk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHRvLmhhc2ggIT09IGZyb20uaGFzaCAmJlxuICAgIHRvLmhvc3RuYW1lID09PSBmcm9tLmhvc3RuYW1lICYmXG4gICAgdG8ucGF0aG5hbWUgPT09IGZyb20ucGF0aG5hbWUgJiZcbiAgICB0by5zZWFyY2ggPT09IGZyb20uc2VhcmNoXG4gICk7XG59XG5cbi8qKiBJbnRlcm5hbCB1dGlsaXR5IGNsYXNzIGZvciByZXByZXNlbnRpbmcgdGhlIHJlc3VsdCBvZiBhIG5hdmlnYXRpb24uICAqL1xuY2xhc3MgSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0IHtcbiAgY29tbWl0dGVkUmVzb2x2ZSE6IChlbnRyeTogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnkpID0+IHZvaWQ7XG4gIGNvbW1pdHRlZFJlamVjdCE6IChyZWFzb246IEVycm9yKSA9PiB2b2lkO1xuICBmaW5pc2hlZFJlc29sdmUhOiAoZW50cnk6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5KSA9PiB2b2lkO1xuICBmaW5pc2hlZFJlamVjdCE6IChyZWFzb246IEVycm9yKSA9PiB2b2lkO1xuICByZWFkb25seSBjb21taXR0ZWQ6IFByb21pc2U8RmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnk+O1xuICByZWFkb25seSBmaW5pc2hlZDogUHJvbWlzZTxGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeT47XG4gIGdldCBzaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb21taXR0ZWQgPSBuZXcgUHJvbWlzZTxGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5jb21taXR0ZWRSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMuY29tbWl0dGVkUmVqZWN0ID0gcmVqZWN0O1xuICAgIH0pO1xuXG4gICAgdGhpcy5maW5pc2hlZCA9IG5ldyBQcm9taXNlPEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5Pihhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmZpbmlzaGVkUmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICB0aGlzLmZpbmlzaGVkUmVqZWN0ID0gKHJlYXNvbjogRXJyb3IpID0+IHtcbiAgICAgICAgcmVqZWN0KHJlYXNvbik7XG4gICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVyLmFib3J0KHJlYXNvbik7XG4gICAgICB9O1xuICAgIH0pO1xuICAgIC8vIEFsbCByZWplY3Rpb25zIGFyZSBoYW5kbGVkLlxuICAgIHRoaXMuY29tbWl0dGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICB0aGlzLmZpbmlzaGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgfVxufVxuXG4vKiogSW50ZXJuYWwgb3B0aW9ucyBmb3IgcGVyZm9ybWluZyBhIG5hdmlnYXRlLiAqL1xuaW50ZXJmYWNlIEludGVybmFsTmF2aWdhdGVPcHRpb25zIHtcbiAgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nO1xuICBjYW5jZWxhYmxlOiBib29sZWFuO1xuICBjYW5JbnRlcmNlcHQ6IGJvb2xlYW47XG4gIHVzZXJJbml0aWF0ZWQ6IGJvb2xlYW47XG4gIGhhc2hDaGFuZ2U6IGJvb2xlYW47XG4gIGluZm8/OiB1bmtub3duO1xuICBza2lwUG9wU3RhdGU/OiBib29sZWFuO1xufVxuIl19
667
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZV9uYXZpZ2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3Rlc3Rpbmcvc3JjL25hdmlnYXRpb24vZmFrZV9uYXZpZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQWtCSDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUF3RHpCLCtDQUErQztJQUMvQyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxZQUNtQixNQUFjLEVBQy9CLFFBQXlCO1FBRFIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXJFakM7OztXQUdHO1FBQ2MsZUFBVSxHQUFpQyxFQUFFLENBQUM7UUFFL0Q7O1dBRUc7UUFDSyxzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFFOUI7O1dBRUc7UUFDSyxrQkFBYSxHQUEwQyxTQUFTLENBQUM7UUFFekU7OztXQUdHO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztRQUU5RTs7O1dBR0c7UUFDSyxrQkFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUUxQzs7O1dBR0c7UUFDSywwQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFFbEM7OztXQUdHO1FBQ0ssMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBRXRDLDREQUE0RDtRQUNwRCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFbEMsd0NBQXdDO1FBQ2hDLGdCQUFXLEdBQWdCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3RSx5RUFBeUU7UUFDakUsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUVuQix5RUFBeUU7UUFDakUsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUVwQixxQ0FBcUM7UUFDN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQW1CdkIsZUFBZTtRQUNmLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyx5QkFBeUIsQ0FDL0IsR0FBb0IsRUFDcEIsVUFBb0QsRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDO1FBRXhFLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLDBEQUEwRCxHQUFHLHlCQUF5QixDQUN2RixDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDM0UsS0FBSyxFQUFFLENBQUM7WUFDUixHQUFHLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkQsRUFBRSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BELFlBQVksRUFBRSxJQUFJO1lBQ2xCLFlBQVksRUFBRSxPQUFPLEVBQUUsWUFBWTtZQUNuQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFFQUFxRTtJQUNyRSw0QkFBNEI7UUFDMUIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtDQUFrQyxDQUFDLHFCQUE4QjtRQUMvRCxJQUFJLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUM7SUFDckQsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0MsUUFBUSxDQUFDLEdBQVcsRUFBRSxPQUFtQztRQUN2RCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDO1FBRW5ELElBQUksY0FBb0MsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3BELHFFQUFxRTtZQUNyRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDNUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztZQUM3QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sY0FBYyxHQUFHLE1BQU0sQ0FBQztZQUMxQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixjQUFjLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNuQyxDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVoRCxNQUFNLFdBQVcsR0FBRyxJQUFJLHlCQUF5QixDQUFDO1lBQ2hELEdBQUcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3JCLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztZQUNyQixZQUFZLEVBQUUsVUFBVTtZQUN4QixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFFOUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUU7WUFDMUMsY0FBYztZQUNkLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLCtCQUErQjtZQUMvQixhQUFhLEVBQUUsS0FBSztZQUNwQixVQUFVO1lBQ1YsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztRQUVILE9BQU87WUFDTCxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLFNBQVMsQ0FBQyxJQUFhLEVBQUUsS0FBYSxFQUFFLEdBQVk7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCw4Q0FBOEM7SUFDOUMsWUFBWSxDQUFDLElBQWEsRUFBRSxLQUFhLEVBQUUsR0FBWTtRQUNyRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLGtCQUFrQixDQUN4QixjQUFvQyxFQUNwQyxJQUFhLEVBQ2IsTUFBYyxFQUNkLEdBQVk7UUFFWixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUVuRSxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWhELE1BQU0sV0FBVyxHQUFHLElBQUkseUJBQXlCLENBQUM7WUFDaEQsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDckIsWUFBWSxFQUFFLElBQUk7WUFDbEIsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBRTlDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFO1lBQzFDLGNBQWM7WUFDZCxVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsSUFBSTtZQUNsQixrREFBa0Q7WUFDbEQsYUFBYSxFQUFFLEtBQUs7WUFDcEIsVUFBVTtZQUNWLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwrQ0FBK0M7SUFDL0MsVUFBVSxDQUFDLEdBQVcsRUFBRSxPQUEyQjtRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDMUUsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUIsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztZQUN6QixPQUFPO2dCQUNMLFNBQVM7Z0JBQ1QsUUFBUTthQUNULENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2hDLE9BQU87Z0JBQ0wsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDN0MsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUM3QyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBRSxDQUFDO1lBQzNELE9BQU87Z0JBQ0wsU0FBUyxFQUFFLGNBQWMsQ0FBQyxTQUFTO2dCQUNuQyxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVE7YUFDbEMsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLE1BQU0sV0FBVyxHQUFHLElBQUkseUJBQXlCLENBQUM7WUFDaEQsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFJO1lBQ2YsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDdkIsWUFBWSxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUU7WUFDckMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1osS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtTQUNqQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUU7Z0JBQzFDLGNBQWMsRUFBRSxVQUFVO2dCQUMxQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLGlDQUFpQztnQkFDakMsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLFVBQVU7Z0JBQ1YsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJO2FBQ3BCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTztZQUNMLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsSUFBSSxDQUFDLE9BQTJCO1FBQzlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDN0UsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUIsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztZQUN6QixPQUFPO2dCQUNMLFNBQVM7Z0JBQ1QsUUFBUTthQUNULENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxPQUFPLENBQUMsT0FBMkI7UUFDakMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUNoRixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9DLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztZQUMxQixRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLE9BQU87Z0JBQ0wsU0FBUztnQkFDVCxRQUFRO2FBQ1QsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsRUFBRSxDQUFDLFNBQWlCO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxTQUFTLENBQUM7UUFDM0QsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksV0FBVyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFdBQVcsQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUNyQix3REFBd0Q7WUFDeEQsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksV0FBVyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM3RCxPQUFPO1lBQ1QsQ0FBQztZQUNELE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBSSxDQUFDLENBQUM7WUFDaEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMzQyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLE1BQU0sV0FBVyxHQUFHLElBQUkseUJBQXlCLENBQUM7Z0JBQ2hELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBSTtnQkFDZixLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDdkIsWUFBWSxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUU7Z0JBQ3JDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztnQkFDZCxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ1osS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUNsQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7YUFDakMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFO2dCQUMxQyxjQUFjLEVBQUUsVUFBVTtnQkFDMUIsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFlBQVksRUFBRSxJQUFJO2dCQUNsQix5QkFBeUI7Z0JBQ3pCLGFBQWEsRUFBRSxLQUFLO2dCQUNwQixVQUFVO2FBQ1gsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsdURBQXVEO0lBQy9DLFlBQVksQ0FBQyxTQUFxQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQy9CLFNBQVMsRUFBRSxDQUFDO1lBQ1osT0FBTztRQUNULENBQUM7UUFFRCx1REFBdUQ7UUFDdkQscUVBQXFFO1FBQ3JFLDZCQUE2QjtRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNoRCxPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ25DLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsT0FBTyxFQUFFLENBQUM7b0JBQ1YsU0FBUyxFQUFFLENBQUM7Z0JBQ2QsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxnQkFBZ0IsQ0FDZCxJQUFZLEVBQ1osUUFBNEMsRUFDNUMsT0FBMkM7UUFFM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsbUJBQW1CLENBQ2pCLElBQVksRUFDWixRQUE0QyxFQUM1QyxPQUF3QztRQUV4QyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxhQUFhLENBQUMsS0FBWTtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsT0FBTztRQUNMLHFEQUFxRDtRQUNyRCwrRkFBK0Y7UUFDL0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVELDZDQUE2QztJQUM3QyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCx5REFBeUQ7SUFDakQsaUJBQWlCLENBQ3ZCLFdBQXNDLEVBQ3RDLE1BQWdDLEVBQ2hDLE9BQWdDO1FBRWhDLDJFQUEyRTtRQUMzRSxTQUFTO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksQ0FBQyx3QkFBd0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyx1QkFBdUIsQ0FBQztZQUM1QyxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7WUFDdEMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzlCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtZQUNsQyxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDcEMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzlCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtZQUNyQixXQUFXO1lBQ1gsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLFlBQVksRUFBRSxXQUFXLENBQUMsWUFBWTtZQUN0QyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7WUFDbEMsTUFBTTtZQUNOLGVBQWUsRUFBRSxHQUFHLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsYUFBYSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDeEMsSUFBSSxhQUFhLENBQUMsWUFBWSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQy9DLGFBQWEsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRUQsNkNBQTZDO0lBQ3JDLGVBQWU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxJQUNFLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxLQUFLLE1BQU07WUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUMvQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFO2dCQUMxRCxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjO2FBQ2xELENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6RCxNQUFNLHVCQUF1QixHQUFHLDJDQUEyQyxDQUFDO1lBQzFFLElBQUk7WUFDSixjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjO1NBQ2xELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckMsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUM7Z0JBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUU7YUFDeEQsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFRCx1REFBdUQ7SUFDL0Msc0JBQXNCLENBQzVCLFdBQXNDLEVBQ3RDLEVBQUMsY0FBYyxFQUF5QztRQUV4RCxJQUFJLGNBQWMsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ3RELENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDckMsTUFBTSxHQUFHLEdBQUcsY0FBYyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQztRQUN2RixNQUFNLEtBQUssR0FBRyxJQUFJLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDNUQsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekIsR0FBRztZQUNILEtBQUs7WUFDTCxZQUFZLEVBQUUsSUFBSTtZQUNsQixLQUFLLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUM3QixZQUFZLEVBQUUsV0FBVyxDQUFDLGVBQWUsRUFBRTtTQUM1QyxDQUFDLENBQUM7UUFDSCxJQUFJLGNBQWMsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRCxnREFBZ0Q7SUFDeEMsaUJBQWlCLENBQUMsV0FBc0M7UUFDOUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVELCtEQUErRDtJQUN2RCxTQUFTLENBQUMsR0FBVztRQUMzQixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRztnQkFBRSxPQUFPLEtBQUssQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFFBQStEO1FBQzVFLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksb0JBQW9CLENBQ3RCLFFBQW1GO1FBRW5GLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBR3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksaUJBQWlCLENBQUMsUUFBdUQ7UUFDM0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsUUFBNEQ7UUFDOUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGtCQUFrQixDQUFDLFFBQTZDO1FBQzlELE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFrQztRQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQVdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDBCQUEwQjtJQVlyQyxZQUNXLEdBQWtCLEVBQzNCLEVBQ0UsRUFBRSxFQUNGLEdBQUcsRUFDSCxLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFDTCxZQUFZLEdBUWI7UUFmUSxRQUFHLEdBQUgsR0FBRyxDQUFlO1FBSjdCLGtDQUFrQztRQUNsQyxjQUFTLEdBQThELElBQUksQ0FBQztRQW9CMUUsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzFFLENBQUM7SUFFRCxlQUFlO1FBQ2IsZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQy9GLENBQUM7SUFFRCxnQkFBZ0IsQ0FDZCxJQUFZLEVBQ1osUUFBNEMsRUFDNUMsT0FBMkM7UUFFM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsbUJBQW1CLENBQ2pCLElBQVksRUFDWixRQUE0QyxFQUM1QyxPQUF3QztRQUV4QyxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWTtRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQWlDRDs7O0dBR0c7QUFDSCxTQUFTLHVCQUF1QixDQUFDLEVBQy9CLFVBQVUsRUFDVixZQUFZLEVBQ1osYUFBYSxFQUNiLFVBQVUsRUFDVixjQUFjLEVBQ2QsTUFBTSxFQUNOLFdBQVcsRUFDWCxJQUFJLEVBQ0osWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sZUFBZSxHQWNoQjtJQUNDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLENBRS9ELENBQUM7SUFDRixLQUFLLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNsQyxLQUFLLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNwQyxLQUFLLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUM5QixLQUFLLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN0QyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN0QixLQUFLLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNoQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNsQixLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM3QixLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUV0QixLQUFLLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNsQyxLQUFLLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNsQyxLQUFLLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUVqQyxJQUFJLGVBQWUsR0FBOEIsU0FBUyxDQUFDO0lBQzNELElBQUksZUFBZSxHQUFHLEtBQUssQ0FBQztJQUM1QixJQUFJLHVCQUF1QixHQUFHLEtBQUssQ0FBQztJQUNwQyxJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFekIsS0FBSyxDQUFDLFNBQVMsR0FBRyxVQUVoQixPQUFnRDtRQUVoRCxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDakMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLGVBQWUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsS0FBSyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxVQUFVLEtBQUssU0FBUyxJQUFJLE9BQU8sRUFBRSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkUsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLE1BQU0sR0FBRztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLE1BQU0sR0FBRyxVQUEyQyxRQUFRLEdBQUcsS0FBSztRQUN4RSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLFlBQVksQ0FDcEIscUVBQXFFO2dCQUNuRSx5QkFBeUIsRUFDM0IsbUJBQW1CLENBQ3BCLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLFlBQVksQ0FDcEIscUVBQXFFO2dCQUNuRSwrQkFBK0IsRUFDakMsbUJBQW1CLENBQ3BCLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksWUFBWSxDQUNwQixrRUFBa0UsR0FBRyxTQUFTLEVBQzlFLG1CQUFtQixDQUNwQixDQUFDO1FBQ0osQ0FBQztRQUNELFlBQVksR0FBRyxJQUFJLENBQUM7UUFFcEIsZUFBZSxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0lBRUYsaUJBQWlCO0lBQ2pCLEtBQUssQ0FBQyxNQUFNLEdBQUcsVUFBMkMsTUFBYTtRQUNyRSxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0lBRUYsaUJBQWlCO0lBQ2pCLEtBQUssQ0FBQyx1QkFBdUIsR0FBRztRQUM5Qix1QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxLQUFLLENBQUMsWUFBWSxLQUFLLGtCQUFrQixFQUFFLENBQUM7WUFDOUMsa0RBQWtEO1lBQ2xELGVBQWUsRUFBRSxJQUFJLENBQ25CLEdBQUcsRUFBRTtnQkFDSCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ2xCLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0gsQ0FBQyxFQUNELEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FDVCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNuRCxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNWLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxFQUNELENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDVCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsaUJBQWlCO0lBQ2pCLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxVQUV6QixLQUFpQztRQUVqQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFrQyxDQUFDO0FBQzVDLENBQUM7QUFPRDs7O0dBR0c7QUFDSCxTQUFTLDJDQUEyQyxDQUFDLEVBQ25ELElBQUksRUFDSixjQUFjLEdBSWY7SUFDQyxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsRUFBRTtRQUM1QyxPQUFPLEVBQUUsS0FBSztRQUNkLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBRUEsQ0FBQztJQUNGLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLEtBQUssQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3RDLE9BQU8sS0FBOEMsQ0FBQztBQUN4RCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxFQUFDLEtBQUssRUFBbUI7SUFDcEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1FBQ2xDLE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVSxFQUFFLEtBQUs7S0FDbEIsQ0FBNkQsQ0FBQztJQUMvRCxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNwQixPQUFPLEtBQXNCLENBQUM7QUFDaEMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUF5QjtJQVVwQyxZQUFZLEVBQ1YsR0FBRyxFQUNILFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLEdBQUcsR0FBRyxJQUFJLEVBQ1YsRUFBRSxHQUFHLElBQUksRUFDVCxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBU1g7UUFDQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFFRCw0RUFBNEU7QUFDNUUsU0FBUyxZQUFZLENBQUMsSUFBUyxFQUFFLEVBQU87SUFDdEMsT0FBTyxDQUNMLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUk7UUFDckIsRUFBRSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUTtRQUM3QixFQUFFLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRO1FBQzdCLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRCwyRUFBMkU7QUFDM0UsTUFBTSx3QkFBd0I7SUFPNUIsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0lBR0Q7UUFGaUIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBR3ZELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxPQUFPLENBQTZCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7WUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxDQUE2QixLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2hGLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO1lBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxNQUFhLEVBQUUsRUFBRTtnQkFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0gsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmRldi9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtcbiAgTmF2aWdhdGVFdmVudCxcbiAgTmF2aWdhdGlvbixcbiAgTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50LFxuICBOYXZpZ2F0aW9uRGVzdGluYXRpb24sXG4gIE5hdmlnYXRpb25IaXN0b3J5RW50cnksXG4gIE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zLFxuICBOYXZpZ2F0aW9uTmF2aWdhdGVPcHRpb25zLFxuICBOYXZpZ2F0aW9uT3B0aW9ucyxcbiAgTmF2aWdhdGlvblJlbG9hZE9wdGlvbnMsXG4gIE5hdmlnYXRpb25SZXN1bHQsXG4gIE5hdmlnYXRpb25UcmFuc2l0aW9uLFxuICBOYXZpZ2F0aW9uVHlwZVN0cmluZyxcbiAgTmF2aWdhdGlvblVwZGF0ZUN1cnJlbnRFbnRyeU9wdGlvbnMsXG59IGZyb20gJy4vbmF2aWdhdGlvbl90eXBlcyc7XG5cbi8qKlxuICogRmFrZSBpbXBsZW1lbnRhdGlvbiBvZiB1c2VyIGFnZW50IGhpc3RvcnkgYW5kIG5hdmlnYXRpb24gYmVoYXZpb3IuIFRoaXMgaXMgYVxuICogaGlnaC1maWRlbGl0eSBpbXBsZW1lbnRhdGlvbiBvZiBicm93c2VyIGJlaGF2aW9yIHRoYXQgYXR0ZW1wdHMgdG8gZW11bGF0ZVxuICogdGhpbmdzIGxpa2UgdHJhdmVyc2FsIGRlbGF5LlxuICovXG5leHBvcnQgY2xhc3MgRmFrZU5hdmlnYXRpb24gaW1wbGVtZW50cyBOYXZpZ2F0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBmYWtlIGltcGxlbWVudGF0aW9uIG9mIGFuIGVudHJpZXMgYXJyYXkuIE9ubHkgc2FtZS1kb2N1bWVudCBlbnRyaWVzXG4gICAqIGFsbG93ZWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGVudHJpZXNBcnI6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5W10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgYWN0aXZlIGVudHJ5IGluZGV4IGludG8gYGVudHJpZXNBcnJgLlxuICAgKi9cbiAgcHJpdmF0ZSBjdXJyZW50RW50cnlJbmRleCA9IDA7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IG5hdmlnYXRlIGV2ZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBuYXZpZ2F0ZUV2ZW50OiBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBIE1hcCBvZiBwZW5kaW5nIHRyYXZlcnNhbHMsIHNvIHRoYXQgdHJhdmVyc2FscyB0byB0aGUgc2FtZSBlbnRyeSBjYW4gYmVcbiAgICogcmUtdXNlZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhdmVyc2FsUXVldWUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0PigpO1xuXG4gIC8qKlxuICAgKiBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwcmV2aW91cyB0cmF2ZXJzYWxzIGhhdmUgZmluaXNoZWQuIFVzZWQgdG9cbiAgICogc2ltdWxhdGUgdGhlIGNyb3NzLXByb2Nlc3MgY29tbXVuaWNhdGlvbiBuZWNlc3NhcnkgZm9yIHRyYXZlcnNhbHMuXG4gICAqL1xuICBwcml2YXRlIG5leHRUcmF2ZXJzYWwgPSBQcm9taXNlLnJlc29sdmUoKTtcblxuICAvKipcbiAgICogQSBwcm9zcGVjdGl2ZSBjdXJyZW50IGFjdGl2ZSBlbnRyeSBpbmRleCwgd2hpY2ggaW5jbHVkZXMgdW5yZXNvbHZlZFxuICAgKiB0cmF2ZXJzYWxzLiBVc2VkIGJ5IGBnb2AgdG8gZGV0ZXJtaW5lIHdoZXJlIG5hdmlnYXRpb25zIGFyZSBpbnRlbmRlZCB0byBnby5cbiAgICovXG4gIHByaXZhdGUgcHJvc3BlY3RpdmVFbnRyeUluZGV4ID0gMDtcblxuICAvKipcbiAgICogQSB0ZXN0LW9ubHkgb3B0aW9uIHRvIG1ha2UgdHJhdmVyc2FscyBzeW5jaHJvbm91cywgcmF0aGVyIHRoYW4gZW11bGF0ZVxuICAgKiBjcm9zcy1wcm9jZXNzIGNvbW11bmljYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHN5bmNocm9ub3VzVHJhdmVyc2FscyA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRvIGFsbG93IGEgY2FsbCB0byBzZXRJbml0aWFsRW50cnlGb3JUZXN0aW5nLiAqL1xuICBwcml2YXRlIGNhblNldEluaXRpYWxFbnRyeSA9IHRydWU7XG5cbiAgLyoqIGBFdmVudFRhcmdldGAgdG8gZGlzcGF0Y2ggZXZlbnRzLiAqL1xuICBwcml2YXRlIGV2ZW50VGFyZ2V0OiBFdmVudFRhcmdldCA9IHRoaXMud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIC8qKiBUaGUgbmV4dCB1bmlxdWUgaWQgZm9yIGNyZWF0ZWQgZW50cmllcy4gUmVwbGFjZSByZWNyZWF0ZXMgdGhpcyBpZC4gKi9cbiAgcHJpdmF0ZSBuZXh0SWQgPSAwO1xuXG4gIC8qKiBUaGUgbmV4dCB1bmlxdWUga2V5IGZvciBjcmVhdGVkIGVudHJpZXMuIFJlcGxhY2UgaW5oZXJpdHMgdGhpcyBpZC4gKi9cbiAgcHJpdmF0ZSBuZXh0S2V5ID0gMDtcblxuICAvKiogV2hldGhlciB0aGlzIGZha2UgaXMgZGlzcG9zZWQuICovXG4gIHByaXZhdGUgZGlzcG9zZWQgPSBmYWxzZTtcblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5jdXJyZW50RW50cnlgLiAqL1xuICBnZXQgY3VycmVudEVudHJ5KCk6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5IHtcbiAgICByZXR1cm4gdGhpcy5lbnRyaWVzQXJyW3RoaXMuY3VycmVudEVudHJ5SW5kZXhdO1xuICB9XG5cbiAgZ2V0IGNhbkdvQmFjaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50RW50cnlJbmRleCA+IDA7XG4gIH1cblxuICBnZXQgY2FuR29Gb3J3YXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRFbnRyeUluZGV4IDwgdGhpcy5lbnRyaWVzQXJyLmxlbmd0aCAtIDE7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogV2luZG93LFxuICAgIHN0YXJ0VVJMOiBgaHR0cCR7c3RyaW5nfWAsXG4gICkge1xuICAgIC8vIEZpcnN0IGVudHJ5LlxuICAgIHRoaXMuc2V0SW5pdGlhbEVudHJ5Rm9yVGVzdGluZyhzdGFydFVSTCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgaW5pdGlhbCBlbnRyeS5cbiAgICovXG4gIHByaXZhdGUgc2V0SW5pdGlhbEVudHJ5Rm9yVGVzdGluZyhcbiAgICB1cmw6IGBodHRwJHtzdHJpbmd9YCxcbiAgICBvcHRpb25zOiB7aGlzdG9yeVN0YXRlOiB1bmtub3duOyBzdGF0ZT86IHVua25vd259ID0ge2hpc3RvcnlTdGF0ZTogbnVsbH0sXG4gICkge1xuICAgIGlmICghdGhpcy5jYW5TZXRJbml0aWFsRW50cnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ3NldEluaXRpYWxFbnRyeUZvclRlc3RpbmcgY2FuIG9ubHkgYmUgY2FsbGVkIGJlZm9yZSBhbnkgJyArICduYXZpZ2F0aW9uIGhhcyBvY2N1cnJlZCcsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50SW5pdGlhbEVudHJ5ID0gdGhpcy5lbnRyaWVzQXJyWzBdO1xuICAgIHRoaXMuZW50cmllc0FyclswXSA9IG5ldyBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeShuZXcgVVJMKHVybCkudG9TdHJpbmcoKSwge1xuICAgICAgaW5kZXg6IDAsXG4gICAgICBrZXk6IGN1cnJlbnRJbml0aWFsRW50cnk/LmtleSA/PyBTdHJpbmcodGhpcy5uZXh0S2V5KyspLFxuICAgICAgaWQ6IGN1cnJlbnRJbml0aWFsRW50cnk/LmlkID8/IFN0cmluZyh0aGlzLm5leHRJZCsrKSxcbiAgICAgIHNhbWVEb2N1bWVudDogdHJ1ZSxcbiAgICAgIGhpc3RvcnlTdGF0ZTogb3B0aW9ucz8uaGlzdG9yeVN0YXRlLFxuICAgICAgc3RhdGU6IG9wdGlvbnMuc3RhdGUsXG4gICAgfSk7XG4gIH1cblxuICAvKiogUmV0dXJucyB3aGV0aGVyIHRoZSBpbml0aWFsIGVudHJ5IGlzIHN0aWxsIGVsaWdpYmxlIHRvIGJlIHNldC4gKi9cbiAgY2FuU2V0SW5pdGlhbEVudHJ5Rm9yVGVzdGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYW5TZXRJbml0aWFsRW50cnk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB3aGV0aGVyIHRvIGVtdWxhdGUgdHJhdmVyc2FscyBhcyBzeW5jaHJvbm91cyByYXRoZXIgdGhhblxuICAgKiBhc3luY2hyb25vdXMuXG4gICAqL1xuICBzZXRTeW5jaHJvbm91c1RyYXZlcnNhbHNGb3JUZXN0aW5nKHN5bmNocm9ub3VzVHJhdmVyc2FsczogYm9vbGVhbikge1xuICAgIHRoaXMuc3luY2hyb25vdXNUcmF2ZXJzYWxzID0gc3luY2hyb25vdXNUcmF2ZXJzYWxzO1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYG5hdmlnYXRpb24uZW50cmllcygpYC4gKi9cbiAgZW50cmllcygpOiBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeVtdIHtcbiAgICByZXR1cm4gdGhpcy5lbnRyaWVzQXJyLnNsaWNlKCk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5uYXZpZ2F0ZSgpYC4gKi9cbiAgbmF2aWdhdGUodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBOYXZpZ2F0aW9uTmF2aWdhdGVPcHRpb25zKTogRmFrZU5hdmlnYXRpb25SZXN1bHQge1xuICAgIGNvbnN0IGZyb21VcmwgPSBuZXcgVVJMKHRoaXMuY3VycmVudEVudHJ5LnVybCEpO1xuICAgIGNvbnN0IHRvVXJsID0gbmV3IFVSTCh1cmwsIHRoaXMuY3VycmVudEVudHJ5LnVybCEpO1xuXG4gICAgbGV0IG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbiAgICBpZiAoIW9wdGlvbnM/Lmhpc3RvcnkgfHwgb3B0aW9ucy5oaXN0b3J5ID09PSAnYXV0bycpIHtcbiAgICAgIC8vIEF1dG8gZGVmYXVsdHMgdG8gcHVzaCwgYnV0IGlmIHRoZSBVUkxzIGFyZSB0aGUgc2FtZSwgaXMgYSByZXBsYWNlLlxuICAgICAgaWYgKGZyb21VcmwudG9TdHJpbmcoKSA9PT0gdG9VcmwudG9TdHJpbmcoKSkge1xuICAgICAgICBuYXZpZ2F0aW9uVHlwZSA9ICdyZXBsYWNlJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5hdmlnYXRpb25UeXBlID0gJ3B1c2gnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuYXZpZ2F0aW9uVHlwZSA9IG9wdGlvbnMuaGlzdG9yeTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXNoQ2hhbmdlID0gaXNIYXNoQ2hhbmdlKGZyb21VcmwsIHRvVXJsKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24oe1xuICAgICAgdXJsOiB0b1VybC50b1N0cmluZygpLFxuICAgICAgc3RhdGU6IG9wdGlvbnM/LnN0YXRlLFxuICAgICAgc2FtZURvY3VtZW50OiBoYXNoQ2hhbmdlLFxuICAgICAgaGlzdG9yeVN0YXRlOiBudWxsLFxuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQoKTtcblxuICAgIHRoaXMudXNlckFnZW50TmF2aWdhdGUoZGVzdGluYXRpb24sIHJlc3VsdCwge1xuICAgICAgbmF2aWdhdGlvblR5cGUsXG4gICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgY2FuSW50ZXJjZXB0OiB0cnVlLFxuICAgICAgLy8gQWx3YXlzIGZhbHNlIGZvciBuYXZpZ2F0ZSgpLlxuICAgICAgdXNlckluaXRpYXRlZDogZmFsc2UsXG4gICAgICBoYXNoQ2hhbmdlLFxuICAgICAgaW5mbzogb3B0aW9ucz8uaW5mbyxcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb21taXR0ZWQ6IHJlc3VsdC5jb21taXR0ZWQsXG4gICAgICBmaW5pc2hlZDogcmVzdWx0LmZpbmlzaGVkLFxuICAgIH07XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgaGlzdG9yeS5wdXNoU3RhdGUoKWAuICovXG4gIHB1c2hTdGF0ZShkYXRhOiB1bmtub3duLCB0aXRsZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnB1c2hPclJlcGxhY2VTdGF0ZSgncHVzaCcsIGRhdGEsIHRpdGxlLCB1cmwpO1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYGhpc3RvcnkucmVwbGFjZVN0YXRlKClgLiAqL1xuICByZXBsYWNlU3RhdGUoZGF0YTogdW5rbm93biwgdGl0bGU6IHN0cmluZywgdXJsPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5wdXNoT3JSZXBsYWNlU3RhdGUoJ3JlcGxhY2UnLCBkYXRhLCB0aXRsZSwgdXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgcHVzaE9yUmVwbGFjZVN0YXRlKFxuICAgIG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZyxcbiAgICBkYXRhOiB1bmtub3duLFxuICAgIF90aXRsZTogc3RyaW5nLFxuICAgIHVybD86IHN0cmluZyxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZnJvbVVybCA9IG5ldyBVUkwodGhpcy5jdXJyZW50RW50cnkudXJsISk7XG4gICAgY29uc3QgdG9VcmwgPSB1cmwgPyBuZXcgVVJMKHVybCwgdGhpcy5jdXJyZW50RW50cnkudXJsISkgOiBmcm9tVXJsO1xuXG4gICAgY29uc3QgaGFzaENoYW5nZSA9IGlzSGFzaENoYW5nZShmcm9tVXJsLCB0b1VybCk7XG5cbiAgICBjb25zdCBkZXN0aW5hdGlvbiA9IG5ldyBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uKHtcbiAgICAgIHVybDogdG9VcmwudG9TdHJpbmcoKSxcbiAgICAgIHNhbWVEb2N1bWVudDogdHJ1ZSxcbiAgICAgIGhpc3RvcnlTdGF0ZTogZGF0YSxcbiAgICB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0KCk7XG5cbiAgICB0aGlzLnVzZXJBZ2VudE5hdmlnYXRlKGRlc3RpbmF0aW9uLCByZXN1bHQsIHtcbiAgICAgIG5hdmlnYXRpb25UeXBlLFxuICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgIGNhbkludGVyY2VwdDogdHJ1ZSxcbiAgICAgIC8vIEFsd2F5cyBmYWxzZSBmb3IgcHVzaFN0YXRlKCkgb3IgcmVwbGFjZVN0YXRlKCkuXG4gICAgICB1c2VySW5pdGlhdGVkOiBmYWxzZSxcbiAgICAgIGhhc2hDaGFuZ2UsXG4gICAgICBza2lwUG9wU3RhdGU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi50cmF2ZXJzZVRvKClgLiAqL1xuICB0cmF2ZXJzZVRvKGtleTogc3RyaW5nLCBvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBGYWtlTmF2aWdhdGlvblJlc3VsdCB7XG4gICAgY29uc3QgZnJvbVVybCA9IG5ldyBVUkwodGhpcy5jdXJyZW50RW50cnkudXJsISk7XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLmZpbmRFbnRyeShrZXkpO1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIGNvbnN0IGRvbUV4Y2VwdGlvbiA9IG5ldyBET01FeGNlcHRpb24oJ0ludmFsaWQga2V5JywgJ0ludmFsaWRTdGF0ZUVycm9yJyk7XG4gICAgICBjb25zdCBjb21taXR0ZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29uc3QgZmluaXNoZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29tbWl0dGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIGZpbmlzaGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1pdHRlZCxcbiAgICAgICAgZmluaXNoZWQsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAoZW50cnkgPT09IHRoaXMuY3VycmVudEVudHJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb21taXR0ZWQ6IFByb21pc2UucmVzb2x2ZSh0aGlzLmN1cnJlbnRFbnRyeSksXG4gICAgICAgIGZpbmlzaGVkOiBQcm9taXNlLnJlc29sdmUodGhpcy5jdXJyZW50RW50cnkpLFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHJhdmVyc2FsUXVldWUuaGFzKGVudHJ5LmtleSkpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nUmVzdWx0ID0gdGhpcy50cmF2ZXJzYWxRdWV1ZS5nZXQoZW50cnkua2V5KSE7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb21taXR0ZWQ6IGV4aXN0aW5nUmVzdWx0LmNvbW1pdHRlZCxcbiAgICAgICAgZmluaXNoZWQ6IGV4aXN0aW5nUmVzdWx0LmZpbmlzaGVkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXNoQ2hhbmdlID0gaXNIYXNoQ2hhbmdlKGZyb21VcmwsIG5ldyBVUkwoZW50cnkudXJsISwgdGhpcy5jdXJyZW50RW50cnkudXJsISkpO1xuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24oe1xuICAgICAgdXJsOiBlbnRyeS51cmwhLFxuICAgICAgc3RhdGU6IGVudHJ5LmdldFN0YXRlKCksXG4gICAgICBoaXN0b3J5U3RhdGU6IGVudHJ5LmdldEhpc3RvcnlTdGF0ZSgpLFxuICAgICAga2V5OiBlbnRyeS5rZXksXG4gICAgICBpZDogZW50cnkuaWQsXG4gICAgICBpbmRleDogZW50cnkuaW5kZXgsXG4gICAgICBzYW1lRG9jdW1lbnQ6IGVudHJ5LnNhbWVEb2N1bWVudCxcbiAgICB9KTtcbiAgICB0aGlzLnByb3NwZWN0aXZlRW50cnlJbmRleCA9IGVudHJ5LmluZGV4O1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnRlcm5hbE5hdmlnYXRpb25SZXN1bHQoKTtcbiAgICB0aGlzLnRyYXZlcnNhbFF1ZXVlLnNldChlbnRyeS5rZXksIHJlc3VsdCk7XG4gICAgdGhpcy5ydW5UcmF2ZXJzYWwoKCkgPT4ge1xuICAgICAgdGhpcy50cmF2ZXJzYWxRdWV1ZS5kZWxldGUoZW50cnkua2V5KTtcbiAgICAgIHRoaXMudXNlckFnZW50TmF2aWdhdGUoZGVzdGluYXRpb24sIHJlc3VsdCwge1xuICAgICAgICBuYXZpZ2F0aW9uVHlwZTogJ3RyYXZlcnNlJyxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY2FuSW50ZXJjZXB0OiB0cnVlLFxuICAgICAgICAvLyBBbHdheXMgZmFsc2UgZm9yIHRyYXZlcnNlVG8oKS5cbiAgICAgICAgdXNlckluaXRpYXRlZDogZmFsc2UsXG4gICAgICAgIGhhc2hDaGFuZ2UsXG4gICAgICAgIGluZm86IG9wdGlvbnM/LmluZm8sXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgY29tbWl0dGVkOiByZXN1bHQuY29tbWl0dGVkLFxuICAgICAgZmluaXNoZWQ6IHJlc3VsdC5maW5pc2hlZCxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYG5hdmlnYXRpb24uYmFjaygpYC4gKi9cbiAgYmFjayhvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBGYWtlTmF2aWdhdGlvblJlc3VsdCB7XG4gICAgaWYgKHRoaXMuY3VycmVudEVudHJ5SW5kZXggPT09IDApIHtcbiAgICAgIGNvbnN0IGRvbUV4Y2VwdGlvbiA9IG5ldyBET01FeGNlcHRpb24oJ0Nhbm5vdCBnbyBiYWNrJywgJ0ludmFsaWRTdGF0ZUVycm9yJyk7XG4gICAgICBjb25zdCBjb21taXR0ZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29uc3QgZmluaXNoZWQgPSBQcm9taXNlLnJlamVjdChkb21FeGNlcHRpb24pO1xuICAgICAgY29tbWl0dGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIGZpbmlzaGVkLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1pdHRlZCxcbiAgICAgICAgZmluaXNoZWQsXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cmllc0Fyclt0aGlzLmN1cnJlbnRFbnRyeUluZGV4IC0gMV07XG4gICAgcmV0dXJuIHRoaXMudHJhdmVyc2VUbyhlbnRyeS5rZXksIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYG5hdmlnYXRpb24uZm9yd2FyZCgpYC4gKi9cbiAgZm9yd2FyZChvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBGYWtlTmF2aWdhdGlvblJlc3VsdCB7XG4gICAgaWYgKHRoaXMuY3VycmVudEVudHJ5SW5kZXggPT09IHRoaXMuZW50cmllc0Fyci5sZW5ndGggLSAxKSB7XG4gICAgICBjb25zdCBkb21FeGNlcHRpb24gPSBuZXcgRE9NRXhjZXB0aW9uKCdDYW5ub3QgZ28gZm9yd2FyZCcsICdJbnZhbGlkU3RhdGVFcnJvcicpO1xuICAgICAgY29uc3QgY29tbWl0dGVkID0gUHJvbWlzZS5yZWplY3QoZG9tRXhjZXB0aW9uKTtcbiAgICAgIGNvbnN0IGZpbmlzaGVkID0gUHJvbWlzZS5yZWplY3QoZG9tRXhjZXB0aW9uKTtcbiAgICAgIGNvbW1pdHRlZC5jYXRjaCgoKSA9PiB7fSk7XG4gICAgICBmaW5pc2hlZC5jYXRjaCgoKSA9PiB7fSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb21taXR0ZWQsXG4gICAgICAgIGZpbmlzaGVkLFxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLmVudHJpZXNBcnJbdGhpcy5jdXJyZW50RW50cnlJbmRleCArIDFdO1xuICAgIHJldHVybiB0aGlzLnRyYXZlcnNlVG8oZW50cnkua2V5LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcXVpdmFsZW50IHRvIGBoaXN0b3J5LmdvKClgLlxuICAgKiBOb3RlIHRoYXQgdGhpcyBtZXRob2QgZG9lcyBub3QgYWN0dWFsbHkgd29yayBwcmVjaXNlbHkgdG8gaG93IENocm9tZVxuICAgKiBkb2VzLCBpbnN0ZWFkIGNob29zaW5nIGEgc2ltcGxlciBtb2RlbCB3aXRoIGxlc3MgdW5leHBlY3RlZCBiZWhhdmlvci5cbiAgICogQ2hyb21lIGhhcyBhIGZldyBlZGdlIGNhc2Ugb3B0aW1pemF0aW9ucywgZm9yIGluc3RhbmNlIHdpdGggcmVwZWF0ZWRcbiAgICogYGJhY2soKTsgZm9yd2FyZCgpYCBjaGFpbnMgaXQgY29sbGFwc2VzIGNlcnRhaW4gdHJhdmVyc2Fscy5cbiAgICovXG4gIGdvKGRpcmVjdGlvbjogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSB0aGlzLnByb3NwZWN0aXZlRW50cnlJbmRleCArIGRpcmVjdGlvbjtcbiAgICBpZiAodGFyZ2V0SW5kZXggPj0gdGhpcy5lbnRyaWVzQXJyLmxlbmd0aCB8fCB0YXJnZXRJbmRleCA8IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wcm9zcGVjdGl2ZUVudHJ5SW5kZXggPSB0YXJnZXRJbmRleDtcbiAgICB0aGlzLnJ1blRyYXZlcnNhbCgoKSA9PiB7XG4gICAgICAvLyBDaGVjayBhZ2FpbiB0aGF0IGRlc3RpbmF0aW9uIGlzIGluIHRoZSBlbnRyaWVzIGFycmF5LlxuICAgICAgaWYgKHRhcmdldEluZGV4ID49IHRoaXMuZW50cmllc0Fyci5sZW5ndGggfHwgdGFyZ2V0SW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZyb21VcmwgPSBuZXcgVVJMKHRoaXMuY3VycmVudEVudHJ5LnVybCEpO1xuICAgICAgY29uc3QgZW50cnkgPSB0aGlzLmVudHJpZXNBcnJbdGFyZ2V0SW5kZXhdO1xuICAgICAgY29uc3QgaGFzaENoYW5nZSA9IGlzSGFzaENoYW5nZShmcm9tVXJsLCBuZXcgVVJMKGVudHJ5LnVybCEsIHRoaXMuY3VycmVudEVudHJ5LnVybCEpKTtcbiAgICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb24oe1xuICAgICAgICB1cmw6IGVudHJ5LnVybCEsXG4gICAgICAgIHN0YXRlOiBlbnRyeS5nZXRTdGF0ZSgpLFxuICAgICAgICBoaXN0b3J5U3RhdGU6IGVudHJ5LmdldEhpc3RvcnlTdGF0ZSgpLFxuICAgICAgICBrZXk6IGVudHJ5LmtleSxcbiAgICAgICAgaWQ6IGVudHJ5LmlkLFxuICAgICAgICBpbmRleDogZW50cnkuaW5kZXgsXG4gICAgICAgIHNhbWVEb2N1bWVudDogZW50cnkuc2FtZURvY3VtZW50LFxuICAgICAgfSk7XG4gICAgICBjb25zdCByZXN1bHQgPSBuZXcgSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0KCk7XG4gICAgICB0aGlzLnVzZXJBZ2VudE5hdmlnYXRlKGRlc3RpbmF0aW9uLCByZXN1bHQsIHtcbiAgICAgICAgbmF2aWdhdGlvblR5cGU6ICd0cmF2ZXJzZScsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGNhbkludGVyY2VwdDogdHJ1ZSxcbiAgICAgICAgLy8gQWx3YXlzIGZhbHNlIGZvciBnbygpLlxuICAgICAgICB1c2VySW5pdGlhdGVkOiBmYWxzZSxcbiAgICAgICAgaGFzaENoYW5nZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFJ1bnMgYSB0cmF2ZXJzYWwgc3luY2hyb25vdXNseSBvciBhc3luY2hyb25vdXNseSAqL1xuICBwcml2YXRlIHJ1blRyYXZlcnNhbCh0cmF2ZXJzYWw6ICgpID0+IHZvaWQpIHtcbiAgICBpZiAodGhpcy5zeW5jaHJvbm91c1RyYXZlcnNhbHMpIHtcbiAgICAgIHRyYXZlcnNhbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEVhY2ggdHJhdmVyc2FsIG9jY3VwaWVzIGEgc2luZ2xlIHRpbWVvdXQgcmVzb2x1dGlvbi5cbiAgICAvLyBUaGlzIG1lYW5zIHRoYXQgUHJvbWlzZXMgYWRkZWQgdG8gY29tbWl0IGFuZCBmaW5pc2ggc2hvdWxkIHJlc29sdmVcbiAgICAvLyBiZWZvcmUgdGhlIG5leHQgdHJhdmVyc2FsLlxuICAgIHRoaXMubmV4dFRyYXZlcnNhbCA9IHRoaXMubmV4dFRyYXZlcnNhbC50aGVuKCgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgdHJhdmVyc2FsKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogRXF1aXZhbGVudCB0byBgbmF2aWdhdGlvbi5hZGRFdmVudExpc3RlbmVyKClgLiAqL1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBjYWxsYmFjazogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBib29sZWFuLFxuICApIHtcbiAgICB0aGlzLmV2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgY2FsbGJhY2ssIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqIEVxdWl2YWxlbnQgdG8gYG5hdmlnYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigpYC4gKi9cbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgY2FsbGJhY2s6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsXG4gICAgb3B0aW9ucz86IEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgYm9vbGVhbixcbiAgKSB7XG4gICAgdGhpcy5ldmVudFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGNhbGxiYWNrLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKiBFcXVpdmFsZW50IHRvIGBuYXZpZ2F0aW9uLmRpc3BhdGNoRXZlbnQoKWAgKi9cbiAgZGlzcGF0Y2hFdmVudChldmVudDogRXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudFRhcmdldC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIC8qKiBDbGVhbnMgdXAgcmVzb3VyY2VzLiAqL1xuICBkaXNwb3NlKCkge1xuICAgIC8vIFJlY3JlYXRlIGV2ZW50VGFyZ2V0IHRvIHJlbGVhc2UgY3VycmVudCBsaXN0ZW5lcnMuXG4gICAgLy8gYGRvY3VtZW50LmNyZWF0ZUVsZW1lbnRgIGJlY2F1c2UgTm9kZUpTIGBFdmVudFRhcmdldGAgaXMgaW5jb21wYXRpYmxlIHdpdGggRG9taW5vJ3MgYEV2ZW50YC5cbiAgICB0aGlzLmV2ZW50VGFyZ2V0ID0gdGhpcy53aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5kaXNwb3NlZCA9IHRydWU7XG4gIH1cblxuICAvKiogUmV0dXJucyB3aGV0aGVyIHRoaXMgZmFrZSBpcyBkaXNwb3NlZC4gKi9cbiAgaXNEaXNwb3NlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNwb3NlZDtcbiAgfVxuXG4gIC8qKiBJbXBsZW1lbnRhdGlvbiBmb3IgYWxsIG5hdmlnYXRpb25zIGFuZCB0cmF2ZXJzYWxzLiAqL1xuICBwcml2YXRlIHVzZXJBZ2VudE5hdmlnYXRlKFxuICAgIGRlc3RpbmF0aW9uOiBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uLFxuICAgIHJlc3VsdDogSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0LFxuICAgIG9wdGlvbnM6IEludGVybmFsTmF2aWdhdGVPcHRpb25zLFxuICApIHtcbiAgICAvLyBUaGUgZmlyc3QgbmF2aWdhdGlvbiBzaG91bGQgZGlzYWxsb3cgYW55IGZ1dHVyZSBjYWxscyB0byBzZXQgdGhlIGluaXRpYWxcbiAgICAvLyBlbnRyeS5cbiAgICB0aGlzLmNhblNldEluaXRpYWxFbnRyeSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLm5hdmlnYXRlRXZlbnQpIHtcbiAgICAgIHRoaXMubmF2aWdhdGVFdmVudC5jYW5jZWwobmV3IERPTUV4Y2VwdGlvbignTmF2aWdhdGlvbiB3YXMgYWJvcnRlZCcsICdBYm9ydEVycm9yJykpO1xuICAgICAgdGhpcy5uYXZpZ2F0ZUV2ZW50ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IG5hdmlnYXRlRXZlbnQgPSBjcmVhdGVGYWtlTmF2aWdhdGVFdmVudCh7XG4gICAgICBuYXZpZ2F0aW9uVHlwZTogb3B0aW9ucy5uYXZpZ2F0aW9uVHlwZSxcbiAgICAgIGNhbmNlbGFibGU6IG9wdGlvbnMuY2FuY2VsYWJsZSxcbiAgICAgIGNhbkludGVyY2VwdDogb3B0aW9ucy5jYW5JbnRlcmNlcHQsXG4gICAgICB1c2VySW5pdGlhdGVkOiBvcHRpb25zLnVzZXJJbml0aWF0ZWQsXG4gICAgICBoYXNoQ2hhbmdlOiBvcHRpb25zLmhhc2hDaGFuZ2UsXG4gICAgICBzaWduYWw6IHJlc3VsdC5zaWduYWwsXG4gICAgICBkZXN0aW5hdGlvbixcbiAgICAgIGluZm86IG9wdGlvbnMuaW5mbyxcbiAgICAgIHNhbWVEb2N1bWVudDogZGVzdGluYXRpb24uc2FtZURvY3VtZW50LFxuICAgICAgc2tpcFBvcFN0YXRlOiBvcHRpb25zLnNraXBQb3BTdGF0ZSxcbiAgICAgIHJlc3VsdCxcbiAgICAgIHVzZXJBZ2VudENvbW1pdDogKCkgPT4ge1xuICAgICAgICB0aGlzLnVzZXJBZ2VudENvbW1pdCgpO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMubmF2aWdhdGVFdmVudCA9IG5hdmlnYXRlRXZlbnQ7XG4gICAgdGhpcy5ldmVudFRhcmdldC5kaXNwYXRjaEV2ZW50KG5hdmlnYXRlRXZlbnQpO1xuICAgIG5hdmlnYXRlRXZlbnQuZGlzcGF0Y2hlZE5hdmlnYXRlRXZlbnQoKTtcbiAgICBpZiAobmF2aWdhdGVFdmVudC5jb21taXRPcHRpb24gPT09ICdpbW1lZGlhdGUnKSB7XG4gICAgICBuYXZpZ2F0ZUV2ZW50LmNvbW1pdCgvKiBpbnRlcm5hbD0gKi8gdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEltcGxlbWVudGF0aW9uIHRvIGNvbW1pdCBhIG5hdmlnYXRpb24uICovXG4gIHByaXZhdGUgdXNlckFnZW50Q29tbWl0KCkge1xuICAgIGlmICghdGhpcy5uYXZpZ2F0ZUV2ZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZyb20gPSB0aGlzLmN1cnJlbnRFbnRyeTtcbiAgICBpZiAoIXRoaXMubmF2aWdhdGVFdmVudC5zYW1lRG9jdW1lbnQpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKCdDYW5ub3QgbmF2aWdhdGUgdG8gYSBub24tc2FtZS1kb2N1bWVudCBVUkwuJyk7XG4gICAgICB0aGlzLm5hdmlnYXRlRXZlbnQuY2FuY2VsKGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLm5hdmlnYXRlRXZlbnQubmF2aWdhdGlvblR5cGUgPT09ICdwdXNoJyB8fFxuICAgICAgdGhpcy5uYXZpZ2F0ZUV2ZW50Lm5hdmlnYXRpb25UeXBlID09PSAncmVwbGFjZSdcbiAgICApIHtcbiAgICAgIHRoaXMudXNlckFnZW50UHVzaE9yUmVwbGFjZSh0aGlzLm5hdmlnYXRlRXZlbnQuZGVzdGluYXRpb24sIHtcbiAgICAgICAgbmF2aWdhdGlvblR5cGU6IHRoaXMubmF2aWdhdGVFdmVudC5uYXZpZ2F0aW9uVHlwZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5uYXZpZ2F0ZUV2ZW50Lm5hdmlnYXRpb25UeXBlID09PSAndHJhdmVyc2UnKSB7XG4gICAgICB0aGlzLnVzZXJBZ2VudFRyYXZlcnNlKHRoaXMubmF2aWdhdGVFdmVudC5kZXN0aW5hdGlvbik7XG4gICAgfVxuICAgIHRoaXMubmF2aWdhdGVFdmVudC51c2VyQWdlbnROYXZpZ2F0ZWQodGhpcy5jdXJyZW50RW50cnkpO1xuICAgIGNvbnN0IGN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50ID0gY3JlYXRlRmFrZU5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCh7XG4gICAgICBmcm9tLFxuICAgICAgbmF2aWdhdGlvblR5cGU6IHRoaXMubmF2aWdhdGVFdmVudC5uYXZpZ2F0aW9uVHlwZSxcbiAgICB9KTtcbiAgICB0aGlzLmV2ZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQoY3VycmVudEVudHJ5Q2hhbmdlRXZlbnQpO1xuICAgIGlmICghdGhpcy5uYXZpZ2F0ZUV2ZW50LnNraXBQb3BTdGF0ZSkge1xuICAgICAgY29uc3QgcG9wU3RhdGVFdmVudCA9IGNyZWF0ZVBvcFN0YXRlRXZlbnQoe1xuICAgICAgICBzdGF0ZTogdGhpcy5uYXZpZ2F0ZUV2ZW50LmRlc3RpbmF0aW9uLmdldEhpc3RvcnlTdGF0ZSgpLFxuICAgICAgfSk7XG4gICAgICB0aGlzLndpbmRvdy5kaXNwYXRjaEV2ZW50KHBvcFN0YXRlRXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBJbXBsZW1lbnRhdGlvbiBmb3IgYSBwdXNoIG9yIHJlcGxhY2UgbmF2aWdhdGlvbi4gKi9cbiAgcHJpdmF0ZSB1c2VyQWdlbnRQdXNoT3JSZXBsYWNlKFxuICAgIGRlc3RpbmF0aW9uOiBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uLFxuICAgIHtuYXZpZ2F0aW9uVHlwZX06IHtuYXZpZ2F0aW9uVHlwZTogTmF2aWdhdGlvblR5cGVTdHJpbmd9LFxuICApIHtcbiAgICBpZiAobmF2aWdhdGlvblR5cGUgPT09ICdwdXNoJykge1xuICAgICAgdGhpcy5jdXJyZW50RW50cnlJbmRleCsrO1xuICAgICAgdGhpcy5wcm9zcGVjdGl2ZUVudHJ5SW5kZXggPSB0aGlzLmN1cnJlbnRFbnRyeUluZGV4O1xuICAgIH1cbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY3VycmVudEVudHJ5SW5kZXg7XG4gICAgY29uc3Qga2V5ID0gbmF2aWdhdGlvblR5cGUgPT09ICdwdXNoJyA/IFN0cmluZyh0aGlzLm5leHRLZXkrKykgOiB0aGlzLmN1cnJlbnRFbnRyeS5rZXk7XG4gICAgY29uc3QgZW50cnkgPSBuZXcgRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnkoZGVzdGluYXRpb24udXJsLCB7XG4gICAgICBpZDogU3RyaW5nKHRoaXMubmV4dElkKyspLFxuICAgICAga2V5LFxuICAgICAgaW5kZXgsXG4gICAgICBzYW1lRG9jdW1lbnQ6IHRydWUsXG4gICAgICBzdGF0ZTogZGVzdGluYXRpb24uZ2V0U3RhdGUoKSxcbiAgICAgIGhpc3RvcnlTdGF0ZTogZGVzdGluYXRpb24uZ2V0SGlzdG9yeVN0YXRlKCksXG4gICAgfSk7XG4gICAgaWYgKG5hdmlnYXRpb25UeXBlID09PSAncHVzaCcpIHtcbiAgICAgIHRoaXMuZW50cmllc0Fyci5zcGxpY2UoaW5kZXgsIEluZmluaXR5LCBlbnRyeSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW50cmllc0FycltpbmRleF0gPSBlbnRyeTtcbiAgICB9XG4gIH1cblxuICAvKiogSW1wbGVtZW50YXRpb24gZm9yIGEgdHJhdmVyc2UgbmF2aWdhdGlvbi4gKi9cbiAgcHJpdmF0ZSB1c2VyQWdlbnRUcmF2ZXJzZShkZXN0aW5hdGlvbjogRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbikge1xuICAgIHRoaXMuY3VycmVudEVudHJ5SW5kZXggPSBkZXN0aW5hdGlvbi5pbmRleDtcbiAgfVxuXG4gIC8qKiBVdGlsaXR5IG1ldGhvZCBmb3IgZmluZGluZyBlbnRyaWVzIHdpdGggdGhlIGdpdmVuIGBrZXlgLiAqL1xuICBwcml2YXRlIGZpbmRFbnRyeShrZXk6IHN0cmluZykge1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgdGhpcy5lbnRyaWVzQXJyKSB7XG4gICAgICBpZiAoZW50cnkua2V5ID09PSBrZXkpIHJldHVybiBlbnRyeTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldCBvbm5hdmlnYXRlKF9oYW5kbGVyOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0ZUV2ZW50KSA9PiBhbnkpIHwgbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZ2V0IG9ubmF2aWdhdGUoKTogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogTmF2aWdhdGVFdmVudCkgPT4gYW55KSB8IG51bGwge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgc2V0IG9uY3VycmVudGVudHJ5Y2hhbmdlKFxuICAgIF9oYW5kbGVyOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQpID0+IGFueSkgfCBudWxsLFxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldCBvbmN1cnJlbnRlbnRyeWNoYW5nZSgpOlxuICAgIHwgKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50KSA9PiBhbnkpXG4gICAgfCBudWxsIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHNldCBvbm5hdmlnYXRlc3VjY2VzcyhfaGFuZGxlcjogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogRXZlbnQpID0+IGFueSkgfCBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICBnZXQgb25uYXZpZ2F0ZXN1Y2Nlc3MoKTogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogRXZlbnQpID0+IGFueSkgfCBudWxsIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHNldCBvbm5hdmlnYXRlZXJyb3IoX2hhbmRsZXI6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IEVycm9yRXZlbnQpID0+IGFueSkgfCBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICBnZXQgb25uYXZpZ2F0ZWVycm9yKCk6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IEVycm9yRXZlbnQpID0+IGFueSkgfCBudWxsIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldCB0cmFuc2l0aW9uKCk6IE5hdmlnYXRpb25UcmFuc2l0aW9uIHwgbnVsbCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICB1cGRhdGVDdXJyZW50RW50cnkoX29wdGlvbnM6IE5hdmlnYXRpb25VcGRhdGVDdXJyZW50RW50cnlPcHRpb25zKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkJyk7XG4gIH1cblxuICByZWxvYWQoX29wdGlvbnM/OiBOYXZpZ2F0aW9uUmVsb2FkT3B0aW9ucyk6IE5hdmlnYXRpb25SZXN1bHQge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG59XG5cbi8qKlxuICogRmFrZSBlcXVpdmFsZW50IG9mIHRoZSBgTmF2aWdhdGlvblJlc3VsdGAgaW50ZXJmYWNlIHdpdGhcbiAqIGBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeWAuXG4gKi9cbmludGVyZmFjZSBGYWtlTmF2aWdhdGlvblJlc3VsdCBleHRlbmRzIE5hdmlnYXRpb25SZXN1bHQge1xuICByZWFkb25seSBjb21taXR0ZWQ6IFByb21pc2U8RmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnk+O1xuICByZWFkb25seSBmaW5pc2hlZDogUHJvbWlzZTxGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeT47XG59XG5cbi8qKlxuICogRmFrZSBlcXVpdmFsZW50IG9mIGBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5YC5cbiAqL1xuZXhwb3J0IGNsYXNzIEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5IGltcGxlbWVudHMgTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSB7XG4gIHJlYWRvbmx5IHNhbWVEb2N1bWVudDtcblxuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBrZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZTogdW5rbm93bjtcbiAgcHJpdmF0ZSByZWFkb25seSBoaXN0b3J5U3RhdGU6IHVua25vd247XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICBvbmRpc3Bvc2U6ICgodGhpczogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSwgZXY6IEV2ZW50KSA9PiBhbnkpIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgdXJsOiBzdHJpbmcgfCBudWxsLFxuICAgIHtcbiAgICAgIGlkLFxuICAgICAga2V5LFxuICAgICAgaW5kZXgsXG4gICAgICBzYW1lRG9jdW1lbnQsXG4gICAgICBzdGF0ZSxcbiAgICAgIGhpc3RvcnlTdGF0ZSxcbiAgICB9OiB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2V5OiBzdHJpbmc7XG4gICAgICBpbmRleDogbnVtYmVyO1xuICAgICAgc2FtZURvY3VtZW50OiBib29sZWFuO1xuICAgICAgaGlzdG9yeVN0YXRlOiB1bmtub3duO1xuICAgICAgc3RhdGU/OiB1bmtub3duO1xuICAgIH0sXG4gICkge1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLmtleSA9IGtleTtcbiAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgdGhpcy5zYW1lRG9jdW1lbnQgPSBzYW1lRG9jdW1lbnQ7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuaGlzdG9yeVN0YXRlID0gaGlzdG9yeVN0YXRlO1xuICB9XG5cbiAgZ2V0U3RhdGUoKTogdW5rbm93biB7XG4gICAgLy8gQnVkZ2V0IGNvcHkuXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUpKSA6IHRoaXMuc3RhdGU7XG4gIH1cblxuICBnZXRIaXN0b3J5U3RhdGUoKTogdW5rbm93biB7XG4gICAgLy8gQnVkZ2V0IGNvcHkuXG4gICAgcmV0dXJuIHRoaXMuaGlzdG9yeVN0YXRlID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmhpc3RvcnlTdGF0ZSkpIDogdGhpcy5oaXN0b3J5U3RhdGU7XG4gIH1cblxuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBjYWxsYmFjazogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBib29sZWFuLFxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGNhbGxiYWNrOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBFdmVudExpc3RlbmVyT3B0aW9ucyB8IGJvb2xlYW4sXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZGlzcGF0Y2hFdmVudChldmVudDogRXZlbnQpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuaW1wbGVtZW50ZWQnKTtcbiAgfVxufVxuXG4vKiogYE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zYCB3aXRoIGV4cGVyaW1lbnRhbCBjb21taXQgb3B0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHBlcmltZW50YWxOYXZpZ2F0aW9uSW50ZXJjZXB0T3B0aW9ucyBleHRlbmRzIE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zIHtcbiAgY29tbWl0PzogJ2ltbWVkaWF0ZScgfCAnYWZ0ZXItdHJhbnNpdGlvbic7XG59XG5cbi8qKiBgTmF2aWdhdGVFdmVudGAgd2l0aCBleHBlcmltZW50YWwgY29tbWl0IGZ1bmN0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHBlcmltZW50YWxOYXZpZ2F0ZUV2ZW50IGV4dGVuZHMgTmF2aWdhdGVFdmVudCB7XG4gIGludGVyY2VwdChvcHRpb25zPzogRXhwZXJpbWVudGFsTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMpOiB2b2lkO1xuXG4gIGNvbW1pdCgpOiB2b2lkO1xufVxuXG4vKipcbiAqIEZha2UgZXF1aXZhbGVudCBvZiBgTmF2aWdhdGVFdmVudGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFrZU5hdmlnYXRlRXZlbnQgZXh0ZW5kcyBFeHBlcmltZW50YWxOYXZpZ2F0ZUV2ZW50IHtcbiAgcmVhZG9ubHkgZGVzdGluYXRpb246IEZha2VOYXZpZ2F0aW9uRGVzdGluYXRpb247XG59XG5cbmludGVyZmFjZSBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50IGV4dGVuZHMgRmFrZU5hdmlnYXRlRXZlbnQge1xuICByZWFkb25seSBzYW1lRG9jdW1lbnQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNraXBQb3BTdGF0ZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNvbW1pdE9wdGlvbjogJ2FmdGVyLXRyYW5zaXRpb24nIHwgJ2ltbWVkaWF0ZSc7XG4gIHJlYWRvbmx5IHJlc3VsdDogSW50ZXJuYWxOYXZpZ2F0aW9uUmVzdWx0O1xuXG4gIGNvbW1pdChpbnRlcm5hbD86IGJvb2xlYW4pOiB2b2lkO1xuICBjYW5jZWwocmVhc29uOiBFcnJvcik6IHZvaWQ7XG4gIGRpc3BhdGNoZWROYXZpZ2F0ZUV2ZW50KCk6IHZvaWQ7XG4gIHVzZXJBZ2VudE5hdmlnYXRlZChlbnRyeTogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnkpOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZha2UgZXF1aXZhbGVudCBvZiBgTmF2aWdhdGVFdmVudGAuIFRoaXMgaXMgbm90IGEgY2xhc3MgYmVjYXVzZSBFUzVcbiAqIHRyYW5zcGlsZWQgSmF2YVNjcmlwdCBjYW5ub3QgZXh0ZW5kIG5hdGl2ZSBFdmVudC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlRmFrZU5hdmlnYXRlRXZlbnQoe1xuICBjYW5jZWxhYmxlLFxuICBjYW5JbnRlcmNlcHQsXG4gIHVzZXJJbml0aWF0ZWQsXG4gIGhhc2hDaGFuZ2UsXG4gIG5hdmlnYXRpb25UeXBlLFxuICBzaWduYWwsXG4gIGRlc3RpbmF0aW9uLFxuICBpbmZvLFxuICBzYW1lRG9jdW1lbnQsXG4gIHNraXBQb3BTdGF0ZSxcbiAgcmVzdWx0LFxuICB1c2VyQWdlbnRDb21taXQsXG59OiB7XG4gIGNhbmNlbGFibGU6IGJvb2xlYW47XG4gIGNhbkludGVyY2VwdDogYm9vbGVhbjtcbiAgdXNlckluaXRpYXRlZDogYm9vbGVhbjtcbiAgaGFzaENoYW5nZTogYm9vbGVhbjtcbiAgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nO1xuICBzaWduYWw6IEFib3J0U2lnbmFsO1xuICBkZXN0aW5hdGlvbjogRmFrZU5hdmlnYXRpb25EZXN0aW5hdGlvbjtcbiAgaW5mbzogdW5rbm93bjtcbiAgc2FtZURvY3VtZW50OiBib29sZWFuO1xuICBza2lwUG9wU3RhdGU/OiBib29sZWFuO1xuICByZXN1bHQ6IEludGVybmFsTmF2aWdhdGlvblJlc3VsdDtcbiAgdXNlckFnZW50Q29tbWl0OiAoKSA9PiB2b2lkO1xufSkge1xuICBjb25zdCBldmVudCA9IG5ldyBFdmVudCgnbmF2aWdhdGUnLCB7YnViYmxlczogZmFsc2UsIGNhbmNlbGFibGV9KSBhcyB7XG4gICAgLXJlYWRvbmx5IFtQIGluIGtleW9mIEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnRdOiBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50W1BdO1xuICB9O1xuICBldmVudC5jYW5JbnRlcmNlcHQgPSBjYW5JbnRlcmNlcHQ7XG4gIGV2ZW50LnVzZXJJbml0aWF0ZWQgPSB1c2VySW5pdGlhdGVkO1xuICBldmVudC5oYXNoQ2hhbmdlID0gaGFzaENoYW5nZTtcbiAgZXZlbnQubmF2aWdhdGlvblR5cGUgPSBuYXZpZ2F0aW9uVHlwZTtcbiAgZXZlbnQuc2lnbmFsID0gc2lnbmFsO1xuICBldmVudC5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICBldmVudC5pbmZvID0gaW5mbztcbiAgZXZlbnQuZG93bmxvYWRSZXF1ZXN0ID0gbnVsbDtcbiAgZXZlbnQuZm9ybURhdGEgPSBudWxsO1xuXG4gIGV2ZW50LnNhbWVEb2N1bWVudCA9IHNhbWVEb2N1bWVudDtcbiAgZXZlbnQuc2tpcFBvcFN0YXRlID0gc2tpcFBvcFN0YXRlO1xuICBldmVudC5jb21taXRPcHRpb24gPSAnaW1tZWRpYXRlJztcblxuICBsZXQgaGFuZGxlckZpbmlzaGVkOiBQcm9taXNlPHZvaWQ+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBsZXQgaW50ZXJjZXB0Q2FsbGVkID0gZmFsc2U7XG4gIGxldCBkaXNwYXRjaGVkTmF2aWdhdGVFdmVudCA9IGZhbHNlO1xuICBsZXQgY29tbWl0Q2FsbGVkID0gZmFsc2U7XG5cbiAgZXZlbnQuaW50ZXJjZXB0ID0gZnVuY3Rpb24gKFxuICAgIHRoaXM6IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQsXG4gICAgb3B0aW9ucz86IEV4cGVyaW1lbnRhbE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zLFxuICApOiB2b2lkIHtcbiAgICBpbnRlcmNlcHRDYWxsZWQgPSB0cnVlO1xuICAgIGV2ZW50LnNhbWVEb2N1bWVudCA9IHRydWU7XG4gICAgY29uc3QgaGFuZGxlciA9IG9wdGlvbnM/LmhhbmRsZXI7XG4gICAgaWYgKGhhbmRsZXIpIHtcbiAgICAgIGhhbmRsZXJGaW5pc2hlZCA9IGhhbmRsZXIoKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LmNvbW1pdCkge1xuICAgICAgZXZlbnQuY29tbWl0T3B0aW9uID0gb3B0aW9ucy5jb21taXQ7XG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5mb2N1c1Jlc2V0ICE9PSB1bmRlZmluZWQgfHwgb3B0aW9ucz8uc2Nyb2xsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICAgIH1cbiAgfTtcblxuICBldmVudC5zY3JvbGwgPSBmdW5jdGlvbiAodGhpczogSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5pbXBsZW1lbnRlZCcpO1xuICB9O1xuXG4gIGV2ZW50LmNvbW1pdCA9IGZ1bmN0aW9uICh0aGlzOiBJbnRlcm5hbEZha2VOYXZpZ2F0ZUV2ZW50LCBpbnRlcm5hbCA9IGZhbHNlKSB7XG4gICAgaWYgKCFpbnRlcm5hbCAmJiAhaW50ZXJjZXB0Q2FsbGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKFxuICAgICAgICBgRmFpbGVkIHRvIGV4ZWN1dGUgJ2NvbW1pdCcgb24gJ05hdmlnYXRlRXZlbnQnOiBpbnRlcmNlcHQoKSBtdXN0IGJlIGAgK1xuICAgICAgICAgIGBjYWxsZWQgYmVmb3JlIGNvbW1pdCgpLmAsXG4gICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWRpc3BhdGNoZWROYXZpZ2F0ZUV2ZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKFxuICAgICAgICBgRmFpbGVkIHRvIGV4ZWN1dGUgJ2NvbW1pdCcgb24gJ05hdmlnYXRlRXZlbnQnOiBjb21taXQoKSBtYXkgbm90IGJlIGAgK1xuICAgICAgICAgIGBjYWxsZWQgZHVyaW5nIGV2ZW50IGRpc3BhdGNoLmAsXG4gICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoY29tbWl0Q2FsbGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKFxuICAgICAgICBgRmFpbGVkIHRvIGV4ZWN1dGUgJ2NvbW1pdCcgb24gJ05hdmlnYXRlRXZlbnQnOiBjb21taXQoKSBhbHJlYWR5IGAgKyBgY2FsbGVkLmAsXG4gICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsXG4gICAgICApO1xuICAgIH1cbiAgICBjb21taXRDYWxsZWQgPSB0cnVlO1xuXG4gICAgdXNlckFnZW50Q29tbWl0KCk7XG4gIH07XG5cbiAgLy8gSW50ZXJuYWwgb25seS5cbiAgZXZlbnQuY2FuY2VsID0gZnVuY3Rpb24gKHRoaXM6IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQsIHJlYXNvbjogRXJyb3IpIHtcbiAgICByZXN1bHQuY29tbWl0dGVkUmVqZWN0KHJlYXNvbik7XG4gICAgcmVzdWx0LmZpbmlzaGVkUmVqZWN0KHJlYXNvbik7XG4gIH07XG5cbiAgLy8gSW50ZXJuYWwgb25seS5cbiAgZXZlbnQuZGlzcGF0Y2hlZE5hdmlnYXRlRXZlbnQgPSBmdW5jdGlvbiAodGhpczogSW50ZXJuYWxGYWtlTmF2aWdhdGVFdmVudCkge1xuICAgIGRpc3BhdGNoZWROYXZpZ2F0ZUV2ZW50ID0gdHJ1ZTtcbiAgICBpZiAoZXZlbnQuY29tbWl0T3B0aW9uID09PSAnYWZ0ZXItdHJhbnNpdGlvbicpIHtcbiAgICAgIC8vIElmIGhhbmRsZXIgZmluaXNoZXMgYmVmb3JlIGNvbW1pdCwgY2FsbCBjb21taXQuXG4gICAgICBoYW5kbGVyRmluaXNoZWQ/LnRoZW4oXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBpZiAoIWNvbW1pdENhbGxlZCkge1xuICAgICAgICAgICAgZXZlbnQuY29tbWl0KC8qIGludGVybmFsICovIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge30sXG4gICAgICApO1xuICAgIH1cbiAgICBQcm9taXNlLmFsbChbcmVzdWx0LmNvbW1pdHRlZCwgaGFuZGxlckZpbmlzaGVkXSkudGhlbihcbiAgICAgIChbZW50cnldKSA9PiB7XG4gICAgICAgIHJlc3VsdC5maW5pc2hlZFJlc29sdmUoZW50cnkpO1xuICAgICAgfSxcbiAgICAgIChyZWFzb24pID0+IHtcbiAgICAgICAgcmVzdWx0LmZpbmlzaGVkUmVqZWN0KHJlYXNvbik7XG4gICAgICB9LFxuICAgICk7XG4gIH07XG5cbiAgLy8gSW50ZXJuYWwgb25seS5cbiAgZXZlbnQudXNlckFnZW50TmF2aWdhdGVkID0gZnVuY3Rpb24gKFxuICAgIHRoaXM6IEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQsXG4gICAgZW50cnk6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5LFxuICApIHtcbiAgICByZXN1bHQuY29tbWl0dGVkUmVzb2x2ZShlbnRyeSk7XG4gIH07XG5cbiAgcmV0dXJuIGV2ZW50IGFzIEludGVybmFsRmFrZU5hdmlnYXRlRXZlbnQ7XG59XG5cbi8qKiBGYWtlIGVxdWl2YWxlbnQgb2YgYE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudGAuICovXG5leHBvcnQgaW50ZXJmYWNlIEZha2VOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQgZXh0ZW5kcyBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQge1xuICByZWFkb25seSBmcm9tOiBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBmYWtlIGVxdWl2YWxlbnQgb2YgYE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VgLiBUaGlzIGRvZXMgbm90IHVzZVxuICogYSBjbGFzcyBiZWNhdXNlIEVTNSB0cmFuc3BpbGVkIEphdmFTY3JpcHQgY2Fubm90IGV4dGVuZCBuYXRpdmUgRXZlbnQuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUZha2VOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQoe1xuICBmcm9tLFxuICBuYXZpZ2F0aW9uVHlwZSxcbn06IHtcbiAgZnJvbTogRmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnk7XG4gIG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbn0pIHtcbiAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ2N1cnJlbnRlbnRyeWNoYW5nZScsIHtcbiAgICBidWJibGVzOiBmYWxzZSxcbiAgICBjYW5jZWxhYmxlOiBmYWxzZSxcbiAgfSkgYXMge1xuICAgIC1yZWFkb25seSBbUCBpbiBrZXlvZiBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnRdOiBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnRbUF07XG4gIH07XG4gIGV2ZW50LmZyb20gPSBmcm9tO1xuICBldmVudC5uYXZpZ2F0aW9uVHlwZSA9IG5hdmlnYXRpb25UeXBlO1xuICByZXR1cm4gZXZlbnQgYXMgRmFrZU5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudDtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBmYWtlIGVxdWl2YWxlbnQgb2YgYFBvcFN0YXRlRXZlbnRgLiBUaGlzIGRvZXMgbm90IHVzZSBhIGNsYXNzXG4gKiBiZWNhdXNlIEVTNSB0cmFuc3BpbGVkIEphdmFTY3JpcHQgY2Fubm90IGV4dGVuZCBuYXRpdmUgRXZlbnQuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVBvcFN0YXRlRXZlbnQoe3N0YXRlfToge3N0YXRlOiB1bmtub3dufSkge1xuICBjb25zdCBldmVudCA9IG5ldyBFdmVudCgncG9wc3RhdGUnLCB7XG4gICAgYnViYmxlczogZmFsc2UsXG4gICAgY2FuY2VsYWJsZTogZmFsc2UsXG4gIH0pIGFzIHstcmVhZG9ubHkgW1AgaW4ga2V5b2YgUG9wU3RhdGVFdmVudF06IFBvcFN0YXRlRXZlbnRbUF19O1xuICBldmVudC5zdGF0ZSA9IHN0YXRlO1xuICByZXR1cm4gZXZlbnQgYXMgUG9wU3RhdGVFdmVudDtcbn1cblxuLyoqXG4gKiBGYWtlIGVxdWl2YWxlbnQgb2YgYE5hdmlnYXRpb25EZXN0aW5hdGlvbmAuXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWtlTmF2aWdhdGlvbkRlc3RpbmF0aW9uIGltcGxlbWVudHMgTmF2aWdhdGlvbkRlc3RpbmF0aW9uIHtcbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNhbWVEb2N1bWVudDogYm9vbGVhbjtcbiAgcmVhZG9ubHkga2V5OiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBpZDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlPzogdW5rbm93bjtcbiAgcHJpdmF0ZSByZWFkb25seSBoaXN0b3J5U3RhdGU6IHVua25vd247XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIHVybCxcbiAgICBzYW1lRG9jdW1lbnQsXG4gICAgaGlzdG9yeVN0YXRlLFxuICAgIHN0YXRlLFxuICAgIGtleSA9IG51bGwsXG4gICAgaWQgPSBudWxsLFxuICAgIGluZGV4ID0gLTEsXG4gIH06IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBzYW1lRG9jdW1lbnQ6IGJvb2xlYW47XG4gICAgaGlzdG9yeVN0YXRlOiB1bmtub3duO1xuICAgIHN0YXRlPzogdW5rbm93bjtcbiAgICBrZXk/OiBzdHJpbmcgfCBudWxsO1xuICAgIGlkPzogc3RyaW5nIHwgbnVsbDtcbiAgICBpbmRleD86IG51bWJlcjtcbiAgfSkge1xuICAgIHRoaXMudXJsID0gdXJsO1xuICAgIHRoaXMuc2FtZURvY3VtZW50ID0gc2FtZURvY3VtZW50O1xuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB0aGlzLmhpc3RvcnlTdGF0ZSA9IGhpc3RvcnlTdGF0ZTtcbiAgICB0aGlzLmtleSA9IGtleTtcbiAgICB0aGlzLmlkID0gaWQ7XG4gICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICB9XG5cbiAgZ2V0U3RhdGUoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGU7XG4gIH1cblxuICBnZXRIaXN0b3J5U3RhdGUoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuaGlzdG9yeVN0YXRlO1xuICB9XG59XG5cbi8qKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGRldGVybWluZSB3aGV0aGVyIHR3byBVcmxMaWtlIGhhdmUgdGhlIHNhbWUgaGFzaC4gKi9cbmZ1bmN0aW9uIGlzSGFzaENoYW5nZShmcm9tOiBVUkwsIHRvOiBVUkwpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0by5oYXNoICE9PSBmcm9tLmhhc2ggJiZcbiAgICB0by5ob3N0bmFtZSA9PT0gZnJvbS5ob3N0bmFtZSAmJlxuICAgIHRvLnBhdGhuYW1lID09PSBmcm9tLnBhdGhuYW1lICYmXG4gICAgdG8uc2VhcmNoID09PSBmcm9tLnNlYXJjaFxuICApO1xufVxuXG4vKiogSW50ZXJuYWwgdXRpbGl0eSBjbGFzcyBmb3IgcmVwcmVzZW50aW5nIHRoZSByZXN1bHQgb2YgYSBuYXZpZ2F0aW9uLiAgKi9cbmNsYXNzIEludGVybmFsTmF2aWdhdGlvblJlc3VsdCB7XG4gIGNvbW1pdHRlZFJlc29sdmUhOiAoZW50cnk6IEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5KSA9PiB2b2lkO1xuICBjb21taXR0ZWRSZWplY3QhOiAocmVhc29uOiBFcnJvcikgPT4gdm9pZDtcbiAgZmluaXNoZWRSZXNvbHZlITogKGVudHJ5OiBGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSkgPT4gdm9pZDtcbiAgZmluaXNoZWRSZWplY3QhOiAocmVhc29uOiBFcnJvcikgPT4gdm9pZDtcbiAgcmVhZG9ubHkgY29tbWl0dGVkOiBQcm9taXNlPEZha2VOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5PjtcbiAgcmVhZG9ubHkgZmluaXNoZWQ6IFByb21pc2U8RmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnk+O1xuICBnZXQgc2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgICByZXR1cm4gdGhpcy5hYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY29tbWl0dGVkID0gbmV3IFByb21pc2U8RmFrZU5hdmlnYXRpb25IaXN0b3J5RW50cnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29tbWl0dGVkUmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICB0aGlzLmNvbW1pdHRlZFJlamVjdCA9IHJlamVjdDtcbiAgICB9KTtcblxuICAgIHRoaXMuZmluaXNoZWQgPSBuZXcgUHJvbWlzZTxGYWtlTmF2aWdhdGlvbkhpc3RvcnlFbnRyeT4oYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5maW5pc2hlZFJlc29sdmUgPSByZXNvbHZlO1xuICAgICAgdGhpcy5maW5pc2hlZFJlamVjdCA9IChyZWFzb246IEVycm9yKSA9PiB7XG4gICAgICAgIHJlamVjdChyZWFzb24pO1xuICAgICAgICB0aGlzLmFib3J0Q29udHJvbGxlci5hYm9ydChyZWFzb24pO1xuICAgICAgfTtcbiAgICB9KTtcbiAgICAvLyBBbGwgcmVqZWN0aW9ucyBhcmUgaGFuZGxlZC5cbiAgICB0aGlzLmNvbW1pdHRlZC5jYXRjaCgoKSA9PiB7fSk7XG4gICAgdGhpcy5maW5pc2hlZC5jYXRjaCgoKSA9PiB7fSk7XG4gIH1cbn1cblxuLyoqIEludGVybmFsIG9wdGlvbnMgZm9yIHBlcmZvcm1pbmcgYSBuYXZpZ2F0ZS4gKi9cbmludGVyZmFjZSBJbnRlcm5hbE5hdmlnYXRlT3B0aW9ucyB7XG4gIG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbiAgY2FuY2VsYWJsZTogYm9vbGVhbjtcbiAgY2FuSW50ZXJjZXB0OiBib29sZWFuO1xuICB1c2VySW5pdGlhdGVkOiBib29sZWFuO1xuICBoYXNoQ2hhbmdlOiBib29sZWFuO1xuICBpbmZvPzogdW5rbm93bjtcbiAgc2tpcFBvcFN0YXRlPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -3,7 +3,7 @@
3
3
  * Copyright Google LLC All Rights Reserved.
4
4
  *
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
6
+ * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  export {};
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbl90eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi90ZXN0aW5nL3NyYy9uYXZpZ2F0aW9uL25hdmlnYXRpb25fdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkV2ZW50TWFwIHtcbiAgbmF2aWdhdGU6IE5hdmlnYXRlRXZlbnQ7XG4gIG5hdmlnYXRlc3VjY2VzczogRXZlbnQ7XG4gIG5hdmlnYXRlZXJyb3I6IEVycm9yRXZlbnQ7XG4gIGN1cnJlbnRlbnRyeWNoYW5nZTogTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25SZXN1bHQge1xuICBjb21taXR0ZWQ6IFByb21pc2U8TmF2aWdhdGlvbkhpc3RvcnlFbnRyeT47XG4gIGZpbmlzaGVkOiBQcm9taXNlPE5hdmlnYXRpb25IaXN0b3J5RW50cnk+O1xufVxuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBOYXZpZ2F0aW9uIGV4dGVuZHMgRXZlbnRUYXJnZXQge1xuICBlbnRyaWVzKCk6IE5hdmlnYXRpb25IaXN0b3J5RW50cnlbXTtcbiAgcmVhZG9ubHkgY3VycmVudEVudHJ5OiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5IHwgbnVsbDtcbiAgdXBkYXRlQ3VycmVudEVudHJ5KG9wdGlvbnM6IE5hdmlnYXRpb25VcGRhdGVDdXJyZW50RW50cnlPcHRpb25zKTogdm9pZDtcbiAgcmVhZG9ubHkgdHJhbnNpdGlvbjogTmF2aWdhdGlvblRyYW5zaXRpb24gfCBudWxsO1xuXG4gIHJlYWRvbmx5IGNhbkdvQmFjazogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY2FuR29Gb3J3YXJkOiBib29sZWFuO1xuXG4gIG5hdmlnYXRlKHVybDogc3RyaW5nLCBvcHRpb25zPzogTmF2aWdhdGlvbk5hdmlnYXRlT3B0aW9ucyk6IE5hdmlnYXRpb25SZXN1bHQ7XG4gIHJlbG9hZChvcHRpb25zPzogTmF2aWdhdGlvblJlbG9hZE9wdGlvbnMpOiBOYXZpZ2F0aW9uUmVzdWx0O1xuXG4gIHRyYXZlcnNlVG8oa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IE5hdmlnYXRpb25SZXN1bHQ7XG4gIGJhY2sob3B0aW9ucz86IE5hdmlnYXRpb25PcHRpb25zKTogTmF2aWdhdGlvblJlc3VsdDtcbiAgZm9yd2FyZChvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBOYXZpZ2F0aW9uUmVzdWx0O1xuXG4gIG9ubmF2aWdhdGU6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IE5hdmlnYXRlRXZlbnQpID0+IGFueSkgfCBudWxsO1xuICBvbm5hdmlnYXRlc3VjY2VzczogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogRXZlbnQpID0+IGFueSkgfCBudWxsO1xuICBvbm5hdmlnYXRlZXJyb3I6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IEVycm9yRXZlbnQpID0+IGFueSkgfCBudWxsO1xuICBvbmN1cnJlbnRlbnRyeWNoYW5nZTogKCh0aGlzOiBOYXZpZ2F0aW9uLCBldjogTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50KSA9PiBhbnkpIHwgbnVsbDtcblxuICBhZGRFdmVudExpc3RlbmVyPEsgZXh0ZW5kcyBrZXlvZiBOYXZpZ2F0aW9uRXZlbnRNYXA+KFxuICAgIHR5cGU6IEssXG4gICAgbGlzdGVuZXI6ICh0aGlzOiBOYXZpZ2F0aW9uLCBldjogTmF2aWdhdGlvbkV2ZW50TWFwW0tdKSA9PiBhbnksXG4gICAgb3B0aW9ucz86IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyxcbiAgKTogdm9pZDtcbiAgYWRkRXZlbnRMaXN0ZW5lcihcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsXG4gICAgb3B0aW9ucz86IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyxcbiAgKTogdm9pZDtcbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcjxLIGV4dGVuZHMga2V5b2YgTmF2aWdhdGlvbkV2ZW50TWFwPihcbiAgICB0eXBlOiBLLFxuICAgIGxpc3RlbmVyOiAodGhpczogTmF2aWdhdGlvbiwgZXY6IE5hdmlnYXRpb25FdmVudE1hcFtLXSkgPT4gYW55LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgRXZlbnRMaXN0ZW5lck9wdGlvbnMsXG4gICk6IHZvaWQ7XG4gIHJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGxpc3RlbmVyOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgRXZlbnRMaXN0ZW5lck9wdGlvbnMsXG4gICk6IHZvaWQ7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE5hdmlnYXRpb25UcmFuc2l0aW9uIHtcbiAgcmVhZG9ubHkgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nO1xuICByZWFkb25seSBmcm9tOiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5O1xuICByZWFkb25seSBmaW5pc2hlZDogUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5RXZlbnRNYXAge1xuICBkaXNwb3NlOiBFdmVudDtcbn1cblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSBleHRlbmRzIEV2ZW50VGFyZ2V0IHtcbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVybDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcbiAgcmVhZG9ubHkgc2FtZURvY3VtZW50OiBib29sZWFuO1xuXG4gIGdldFN0YXRlKCk6IHVua25vd247XG5cbiAgb25kaXNwb3NlOiAoKHRoaXM6IE5hdmlnYXRpb25IaXN0b3J5RW50cnksIGV2OiBFdmVudCkgPT4gYW55KSB8IG51bGw7XG5cbiAgYWRkRXZlbnRMaXN0ZW5lcjxLIGV4dGVuZHMga2V5b2YgTmF2aWdhdGlvbkhpc3RvcnlFbnRyeUV2ZW50TWFwPihcbiAgICB0eXBlOiBLLFxuICAgIGxpc3RlbmVyOiAodGhpczogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSwgZXY6IE5hdmlnYXRpb25IaXN0b3J5RW50cnlFdmVudE1hcFtLXSkgPT4gYW55LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMsXG4gICk6IHZvaWQ7XG4gIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGxpc3RlbmVyOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMsXG4gICk6IHZvaWQ7XG4gIHJlbW92ZUV2ZW50TGlzdGVuZXI8SyBleHRlbmRzIGtleW9mIE5hdmlnYXRpb25IaXN0b3J5RW50cnlFdmVudE1hcD4oXG4gICAgdHlwZTogSyxcbiAgICBsaXN0ZW5lcjogKHRoaXM6IE5hdmlnYXRpb25IaXN0b3J5RW50cnksIGV2OiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5RXZlbnRNYXBbS10pID0+IGFueSxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuICApOiB2b2lkO1xuICByZW1vdmVFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuICApOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uVHlwZVN0cmluZyA9ICdyZWxvYWQnIHwgJ3B1c2gnIHwgJ3JlcGxhY2UnIHwgJ3RyYXZlcnNlJztcblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uVXBkYXRlQ3VycmVudEVudHJ5T3B0aW9ucyB7XG4gIHN0YXRlOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25PcHRpb25zIHtcbiAgaW5mbz86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbk5hdmlnYXRlT3B0aW9ucyBleHRlbmRzIE5hdmlnYXRpb25PcHRpb25zIHtcbiAgc3RhdGU/OiB1bmtub3duO1xuICBoaXN0b3J5PzogJ2F1dG8nIHwgJ3B1c2gnIHwgJ3JlcGxhY2UnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25SZWxvYWRPcHRpb25zIGV4dGVuZHMgTmF2aWdhdGlvbk9wdGlvbnMge1xuICBzdGF0ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCBleHRlbmRzIEV2ZW50IHtcbiAgY29uc3RydWN0b3IodHlwZTogc3RyaW5nLCBldmVudEluaXQ/OiBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnRJbml0KTtcblxuICByZWFkb25seSBuYXZpZ2F0aW9uVHlwZTogTmF2aWdhdGlvblR5cGVTdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBmcm9tOiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudEluaXQgZXh0ZW5kcyBFdmVudEluaXQge1xuICBuYXZpZ2F0aW9uVHlwZT86IE5hdmlnYXRpb25UeXBlU3RyaW5nIHwgbnVsbDtcbiAgZnJvbTogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeTtcbn1cblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgTmF2aWdhdGVFdmVudCBleHRlbmRzIEV2ZW50IHtcbiAgY29uc3RydWN0b3IodHlwZTogc3RyaW5nLCBldmVudEluaXQ/OiBOYXZpZ2F0ZUV2ZW50SW5pdCk7XG5cbiAgcmVhZG9ubHkgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nO1xuICByZWFkb25seSBjYW5JbnRlcmNlcHQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHVzZXJJbml0aWF0ZWQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGhhc2hDaGFuZ2U6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uOiBOYXZpZ2F0aW9uRGVzdGluYXRpb247XG4gIHJlYWRvbmx5IHNpZ25hbDogQWJvcnRTaWduYWw7XG4gIHJlYWRvbmx5IGZvcm1EYXRhOiBGb3JtRGF0YSB8IG51bGw7XG4gIHJlYWRvbmx5IGRvd25sb2FkUmVxdWVzdDogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgaW5mbz86IHVua25vd247XG5cbiAgaW50ZXJjZXB0KG9wdGlvbnM/OiBOYXZpZ2F0aW9uSW50ZXJjZXB0T3B0aW9ucyk6IHZvaWQ7XG4gIHNjcm9sbCgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRlRXZlbnRJbml0IGV4dGVuZHMgRXZlbnRJbml0IHtcbiAgbmF2aWdhdGlvblR5cGU/OiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbiAgY2FuSW50ZXJjZXB0PzogYm9vbGVhbjtcbiAgdXNlckluaXRpYXRlZD86IGJvb2xlYW47XG4gIGhhc2hDaGFuZ2U/OiBib29sZWFuO1xuICBkZXN0aW5hdGlvbjogTmF2aWdhdGlvbkRlc3RpbmF0aW9uO1xuICBzaWduYWw6IEFib3J0U2lnbmFsO1xuICBmb3JtRGF0YT86IEZvcm1EYXRhIHwgbnVsbDtcbiAgZG93bmxvYWRSZXF1ZXN0Pzogc3RyaW5nIHwgbnVsbDtcbiAgaW5mbz86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMge1xuICBoYW5kbGVyPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZm9jdXNSZXNldD86ICdhZnRlci10cmFuc2l0aW9uJyB8ICdtYW51YWwnO1xuICBzY3JvbGw/OiAnYWZ0ZXItdHJhbnNpdGlvbicgfCAnbWFudWFsJztcbn1cblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgTmF2aWdhdGlvbkRlc3RpbmF0aW9uIHtcbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGtleTogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IGluZGV4OiBudW1iZXI7XG4gIHJlYWRvbmx5IHNhbWVEb2N1bWVudDogYm9vbGVhbjtcblxuICBnZXRTdGF0ZSgpOiB1bmtub3duO1xufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbl90eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi90ZXN0aW5nL3NyYy9uYXZpZ2F0aW9uL25hdmlnYXRpb25fdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuZGV2L2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25FdmVudE1hcCB7XG4gIG5hdmlnYXRlOiBOYXZpZ2F0ZUV2ZW50O1xuICBuYXZpZ2F0ZXN1Y2Nlc3M6IEV2ZW50O1xuICBuYXZpZ2F0ZWVycm9yOiBFcnJvckV2ZW50O1xuICBjdXJyZW50ZW50cnljaGFuZ2U6IE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uUmVzdWx0IHtcbiAgY29tbWl0dGVkOiBQcm9taXNlPE5hdmlnYXRpb25IaXN0b3J5RW50cnk+O1xuICBmaW5pc2hlZDogUHJvbWlzZTxOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5Pjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgTmF2aWdhdGlvbiBleHRlbmRzIEV2ZW50VGFyZ2V0IHtcbiAgZW50cmllcygpOiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5W107XG4gIHJlYWRvbmx5IGN1cnJlbnRFbnRyeTogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeSB8IG51bGw7XG4gIHVwZGF0ZUN1cnJlbnRFbnRyeShvcHRpb25zOiBOYXZpZ2F0aW9uVXBkYXRlQ3VycmVudEVudHJ5T3B0aW9ucyk6IHZvaWQ7XG4gIHJlYWRvbmx5IHRyYW5zaXRpb246IE5hdmlnYXRpb25UcmFuc2l0aW9uIHwgbnVsbDtcblxuICByZWFkb25seSBjYW5Hb0JhY2s6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNhbkdvRm9yd2FyZDogYm9vbGVhbjtcblxuICBuYXZpZ2F0ZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IE5hdmlnYXRpb25OYXZpZ2F0ZU9wdGlvbnMpOiBOYXZpZ2F0aW9uUmVzdWx0O1xuICByZWxvYWQob3B0aW9ucz86IE5hdmlnYXRpb25SZWxvYWRPcHRpb25zKTogTmF2aWdhdGlvblJlc3VsdDtcblxuICB0cmF2ZXJzZVRvKGtleTogc3RyaW5nLCBvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBOYXZpZ2F0aW9uUmVzdWx0O1xuICBiYWNrKG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IE5hdmlnYXRpb25SZXN1bHQ7XG4gIGZvcndhcmQob3B0aW9ucz86IE5hdmlnYXRpb25PcHRpb25zKTogTmF2aWdhdGlvblJlc3VsdDtcblxuICBvbm5hdmlnYXRlOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0ZUV2ZW50KSA9PiBhbnkpIHwgbnVsbDtcbiAgb25uYXZpZ2F0ZXN1Y2Nlc3M6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IEV2ZW50KSA9PiBhbnkpIHwgbnVsbDtcbiAgb25uYXZpZ2F0ZWVycm9yOiAoKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBFcnJvckV2ZW50KSA9PiBhbnkpIHwgbnVsbDtcbiAgb25jdXJyZW50ZW50cnljaGFuZ2U6ICgodGhpczogTmF2aWdhdGlvbiwgZXY6IE5hdmlnYXRpb25DdXJyZW50RW50cnlDaGFuZ2VFdmVudCkgPT4gYW55KSB8IG51bGw7XG5cbiAgYWRkRXZlbnRMaXN0ZW5lcjxLIGV4dGVuZHMga2V5b2YgTmF2aWdhdGlvbkV2ZW50TWFwPihcbiAgICB0eXBlOiBLLFxuICAgIGxpc3RlbmVyOiAodGhpczogTmF2aWdhdGlvbiwgZXY6IE5hdmlnYXRpb25FdmVudE1hcFtLXSkgPT4gYW55LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMsXG4gICk6IHZvaWQ7XG4gIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGxpc3RlbmVyOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMsXG4gICk6IHZvaWQ7XG4gIHJlbW92ZUV2ZW50TGlzdGVuZXI8SyBleHRlbmRzIGtleW9mIE5hdmlnYXRpb25FdmVudE1hcD4oXG4gICAgdHlwZTogSyxcbiAgICBsaXN0ZW5lcjogKHRoaXM6IE5hdmlnYXRpb24sIGV2OiBOYXZpZ2F0aW9uRXZlbnRNYXBbS10pID0+IGFueSxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuICApOiB2b2lkO1xuICByZW1vdmVFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuICApOiB2b2lkO1xufVxuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBOYXZpZ2F0aW9uVHJhbnNpdGlvbiB7XG4gIHJlYWRvbmx5IG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbiAgcmVhZG9ubHkgZnJvbTogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeTtcbiAgcmVhZG9ubHkgZmluaXNoZWQ6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkhpc3RvcnlFbnRyeUV2ZW50TWFwIHtcbiAgZGlzcG9zZTogRXZlbnQ7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE5hdmlnYXRpb25IaXN0b3J5RW50cnkgZXh0ZW5kcyBFdmVudFRhcmdldCB7XG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSB1cmw6IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IGluZGV4OiBudW1iZXI7XG4gIHJlYWRvbmx5IHNhbWVEb2N1bWVudDogYm9vbGVhbjtcblxuICBnZXRTdGF0ZSgpOiB1bmtub3duO1xuXG4gIG9uZGlzcG9zZTogKCh0aGlzOiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5LCBldjogRXZlbnQpID0+IGFueSkgfCBudWxsO1xuXG4gIGFkZEV2ZW50TGlzdGVuZXI8SyBleHRlbmRzIGtleW9mIE5hdmlnYXRpb25IaXN0b3J5RW50cnlFdmVudE1hcD4oXG4gICAgdHlwZTogSyxcbiAgICBsaXN0ZW5lcjogKHRoaXM6IE5hdmlnYXRpb25IaXN0b3J5RW50cnksIGV2OiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5RXZlbnRNYXBbS10pID0+IGFueSxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuICApOiB2b2lkO1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuICApOiB2b2lkO1xuICByZW1vdmVFdmVudExpc3RlbmVyPEsgZXh0ZW5kcyBrZXlvZiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5RXZlbnRNYXA+KFxuICAgIHR5cGU6IEssXG4gICAgbGlzdGVuZXI6ICh0aGlzOiBOYXZpZ2F0aW9uSGlzdG9yeUVudHJ5LCBldjogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeUV2ZW50TWFwW0tdKSA9PiBhbnksXG4gICAgb3B0aW9ucz86IGJvb2xlYW4gfCBFdmVudExpc3RlbmVyT3B0aW9ucyxcbiAgKTogdm9pZDtcbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsXG4gICAgb3B0aW9ucz86IGJvb2xlYW4gfCBFdmVudExpc3RlbmVyT3B0aW9ucyxcbiAgKTogdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgTmF2aWdhdGlvblR5cGVTdHJpbmcgPSAncmVsb2FkJyB8ICdwdXNoJyB8ICdyZXBsYWNlJyB8ICd0cmF2ZXJzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvblVwZGF0ZUN1cnJlbnRFbnRyeU9wdGlvbnMge1xuICBzdGF0ZTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uT3B0aW9ucyB7XG4gIGluZm8/OiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25OYXZpZ2F0ZU9wdGlvbnMgZXh0ZW5kcyBOYXZpZ2F0aW9uT3B0aW9ucyB7XG4gIHN0YXRlPzogdW5rbm93bjtcbiAgaGlzdG9yeT86ICdhdXRvJyB8ICdwdXNoJyB8ICdyZXBsYWNlJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uUmVsb2FkT3B0aW9ucyBleHRlbmRzIE5hdmlnYXRpb25PcHRpb25zIHtcbiAgc3RhdGU/OiB1bmtub3duO1xufVxuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywgZXZlbnRJbml0PzogTmF2aWdhdGlvbkN1cnJlbnRFbnRyeUNoYW5nZUV2ZW50SW5pdCk7XG5cbiAgcmVhZG9ubHkgbmF2aWdhdGlvblR5cGU6IE5hdmlnYXRpb25UeXBlU3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgZnJvbTogTmF2aWdhdGlvbkhpc3RvcnlFbnRyeTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uQ3VycmVudEVudHJ5Q2hhbmdlRXZlbnRJbml0IGV4dGVuZHMgRXZlbnRJbml0IHtcbiAgbmF2aWdhdGlvblR5cGU/OiBOYXZpZ2F0aW9uVHlwZVN0cmluZyB8IG51bGw7XG4gIGZyb206IE5hdmlnYXRpb25IaXN0b3J5RW50cnk7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE5hdmlnYXRlRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywgZXZlbnRJbml0PzogTmF2aWdhdGVFdmVudEluaXQpO1xuXG4gIHJlYWRvbmx5IG5hdmlnYXRpb25UeXBlOiBOYXZpZ2F0aW9uVHlwZVN0cmluZztcbiAgcmVhZG9ubHkgY2FuSW50ZXJjZXB0OiBib29sZWFuO1xuICByZWFkb25seSB1c2VySW5pdGlhdGVkOiBib29sZWFuO1xuICByZWFkb25seSBoYXNoQ2hhbmdlOiBib29sZWFuO1xuICByZWFkb25seSBkZXN0aW5hdGlvbjogTmF2aWdhdGlvbkRlc3RpbmF0aW9uO1xuICByZWFkb25seSBzaWduYWw6IEFib3J0U2lnbmFsO1xuICByZWFkb25seSBmb3JtRGF0YTogRm9ybURhdGEgfCBudWxsO1xuICByZWFkb25seSBkb3dubG9hZFJlcXVlc3Q6IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IGluZm8/OiB1bmtub3duO1xuXG4gIGludGVyY2VwdChvcHRpb25zPzogTmF2aWdhdGlvbkludGVyY2VwdE9wdGlvbnMpOiB2b2lkO1xuICBzY3JvbGwoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0ZUV2ZW50SW5pdCBleHRlbmRzIEV2ZW50SW5pdCB7XG4gIG5hdmlnYXRpb25UeXBlPzogTmF2aWdhdGlvblR5cGVTdHJpbmc7XG4gIGNhbkludGVyY2VwdD86IGJvb2xlYW47XG4gIHVzZXJJbml0aWF0ZWQ/OiBib29sZWFuO1xuICBoYXNoQ2hhbmdlPzogYm9vbGVhbjtcbiAgZGVzdGluYXRpb246IE5hdmlnYXRpb25EZXN0aW5hdGlvbjtcbiAgc2lnbmFsOiBBYm9ydFNpZ25hbDtcbiAgZm9ybURhdGE/OiBGb3JtRGF0YSB8IG51bGw7XG4gIGRvd25sb2FkUmVxdWVzdD86IHN0cmluZyB8IG51bGw7XG4gIGluZm8/OiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25JbnRlcmNlcHRPcHRpb25zIHtcbiAgaGFuZGxlcj86ICgpID0+IFByb21pc2U8dm9pZD47XG4gIGZvY3VzUmVzZXQ/OiAnYWZ0ZXItdHJhbnNpdGlvbicgfCAnbWFudWFsJztcbiAgc2Nyb2xsPzogJ2FmdGVyLXRyYW5zaXRpb24nIHwgJ21hbnVhbCc7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE5hdmlnYXRpb25EZXN0aW5hdGlvbiB7XG4gIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuICByZWFkb25seSBrZXk6IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBpbmRleDogbnVtYmVyO1xuICByZWFkb25seSBzYW1lRG9jdW1lbnQ6IGJvb2xlYW47XG5cbiAgZ2V0U3RhdGUoKTogdW5rbm93bjtcbn1cbiJdfQ==
@@ -3,7 +3,7 @@
3
3
  * Copyright Google LLC All Rights Reserved.
4
4
  *
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
6
+ * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import { DOCUMENT, PlatformLocation } from '@angular/common';
9
9
  import { inject } from '@angular/core';
@@ -26,4 +26,4 @@ export function provideFakePlatformNavigation() {
26
26
  { provide: PlatformLocation, useClass: FakeNavigationPlatformLocation },
27
27
  ];
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZV9mYWtlX3BsYXRmb3JtX25hdmlnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vdGVzdGluZy9zcmMvbmF2aWdhdGlvbi9wcm92aWRlX2Zha2VfcGxhdGZvcm1fbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE1BQU0sRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUUvQyx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDL0UsT0FBTyxFQUNMLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FDOUIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsVUFBVSxFQUFFLEdBQUcsRUFBRTtnQkFDZixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsNkJBQTZCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztnQkFDdkUsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVksRUFDNUIsTUFBTSxFQUFFLFFBQTRCLElBQUksaUJBQWlCLENBQzNELENBQUM7WUFDSixDQUFDO1NBQ0Y7UUFDRCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsOEJBQThCLEVBQUM7S0FDdEUsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtET0NVTUVOVCwgUGxhdGZvcm1Mb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7aW5qZWN0LCBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIEBuZ19wYWNrYWdlOiBpZ25vcmUtY3Jvc3MtcmVwby1pbXBvcnRcbmltcG9ydCB7UGxhdGZvcm1OYXZpZ2F0aW9ufSBmcm9tICcuLi8uLi8uLi9zcmMvbmF2aWdhdGlvbi9wbGF0Zm9ybV9uYXZpZ2F0aW9uJztcbmltcG9ydCB7XG4gIEZha2VOYXZpZ2F0aW9uUGxhdGZvcm1Mb2NhdGlvbixcbiAgTU9DS19QTEFURk9STV9MT0NBVElPTl9DT05GSUcsXG59IGZyb20gJy4uL21vY2tfcGxhdGZvcm1fbG9jYXRpb24nO1xuXG5pbXBvcnQge0Zha2VOYXZpZ2F0aW9ufSBmcm9tICcuL2Zha2VfbmF2aWdhdGlvbic7XG5cbi8qKlxuICogUmV0dXJuIGEgcHJvdmlkZXIgZm9yIHRoZSBgRmFrZU5hdmlnYXRpb25gIGluIHBsYWNlIG9mIHRoZSByZWFsIE5hdmlnYXRpb24gQVBJLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUZha2VQbGF0Zm9ybU5hdmlnYXRpb24oKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUGxhdGZvcm1OYXZpZ2F0aW9uLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICBjb25zdCBjb25maWcgPSBpbmplY3QoTU9DS19QTEFURk9STV9MT0NBVElPTl9DT05GSUcsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgICAgICByZXR1cm4gbmV3IEZha2VOYXZpZ2F0aW9uKFxuICAgICAgICAgIGluamVjdChET0NVTUVOVCkuZGVmYXVsdFZpZXchLFxuICAgICAgICAgIChjb25maWc/LnN0YXJ0VXJsIGFzIGBodHRwJHtzdHJpbmd9YCkgPz8gJ2h0dHA6Ly9fZW1wdHlfLycsXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0sXG4gICAge3Byb3ZpZGU6IFBsYXRmb3JtTG9jYXRpb24sIHVzZUNsYXNzOiBGYWtlTmF2aWdhdGlvblBsYXRmb3JtTG9jYXRpb259LFxuICBdO1xufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZV9mYWtlX3BsYXRmb3JtX25hdmlnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vdGVzdGluZy9zcmMvbmF2aWdhdGlvbi9wcm92aWRlX2Zha2VfcGxhdGZvcm1fbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE1BQU0sRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUUvQyx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDL0UsT0FBTyxFQUNMLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FDOUIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsVUFBVSxFQUFFLEdBQUcsRUFBRTtnQkFDZixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsNkJBQTZCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztnQkFDdkUsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVksRUFDNUIsTUFBTSxFQUFFLFFBQTRCLElBQUksaUJBQWlCLENBQzNELENBQUM7WUFDSixDQUFDO1NBQ0Y7UUFDRCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsOEJBQThCLEVBQUM7S0FDdEUsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZVxuICovXG5cbmltcG9ydCB7RE9DVU1FTlQsIFBsYXRmb3JtTG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2luamVjdCwgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyBAbmdfcGFja2FnZTogaWdub3JlLWNyb3NzLXJlcG8taW1wb3J0XG5pbXBvcnQge1BsYXRmb3JtTmF2aWdhdGlvbn0gZnJvbSAnLi4vLi4vLi4vc3JjL25hdmlnYXRpb24vcGxhdGZvcm1fbmF2aWdhdGlvbic7XG5pbXBvcnQge1xuICBGYWtlTmF2aWdhdGlvblBsYXRmb3JtTG9jYXRpb24sXG4gIE1PQ0tfUExBVEZPUk1fTE9DQVRJT05fQ09ORklHLFxufSBmcm9tICcuLi9tb2NrX3BsYXRmb3JtX2xvY2F0aW9uJztcblxuaW1wb3J0IHtGYWtlTmF2aWdhdGlvbn0gZnJvbSAnLi9mYWtlX25hdmlnYXRpb24nO1xuXG4vKipcbiAqIFJldHVybiBhIHByb3ZpZGVyIGZvciB0aGUgYEZha2VOYXZpZ2F0aW9uYCBpbiBwbGFjZSBvZiB0aGUgcmVhbCBOYXZpZ2F0aW9uIEFQSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVGYWtlUGxhdGZvcm1OYXZpZ2F0aW9uKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFBsYXRmb3JtTmF2aWdhdGlvbixcbiAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gaW5qZWN0KE1PQ0tfUExBVEZPUk1fTE9DQVRJT05fQ09ORklHLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWtlTmF2aWdhdGlvbihcbiAgICAgICAgICBpbmplY3QoRE9DVU1FTlQpLmRlZmF1bHRWaWV3ISxcbiAgICAgICAgICAoY29uZmlnPy5zdGFydFVybCBhcyBgaHR0cCR7c3RyaW5nfWApID8/ICdodHRwOi8vX2VtcHR5Xy8nLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtwcm92aWRlOiBQbGF0Zm9ybUxvY2F0aW9uLCB1c2VDbGFzczogRmFrZU5hdmlnYXRpb25QbGF0Zm9ybUxvY2F0aW9ufSxcbiAgXTtcbn1cbiJdfQ==
@@ -3,7 +3,7 @@
3
3
  * Copyright Google LLC All Rights Reserved.
4
4
  *
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
6
+ * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  export { provideFakePlatformNavigation as ɵprovideFakePlatformNavigation } from './navigation/provide_fake_platform_navigation';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leHBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vdGVzdGluZy9zcmMvcHJpdmF0ZV9leHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLDZCQUE2QixJQUFJLDhCQUE4QixFQUFDLE1BQU0sK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0IHtwcm92aWRlRmFrZVBsYXRmb3JtTmF2aWdhdGlvbiBhcyDJtXByb3ZpZGVGYWtlUGxhdGZvcm1OYXZpZ2F0aW9ufSBmcm9tICcuL25hdmlnYXRpb24vcHJvdmlkZV9mYWtlX3BsYXRmb3JtX25hdmlnYXRpb24nO1xuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leHBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vdGVzdGluZy9zcmMvcHJpdmF0ZV9leHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLDZCQUE2QixJQUFJLDhCQUE4QixFQUFDLE1BQU0sK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZVxuICovXG5cbmV4cG9ydCB7cHJvdmlkZUZha2VQbGF0Zm9ybU5hdmlnYXRpb24gYXMgybVwcm92aWRlRmFrZVBsYXRmb3JtTmF2aWdhdGlvbn0gZnJvbSAnLi9uYXZpZ2F0aW9uL3Byb3ZpZGVfZmFrZV9wbGF0Zm9ybV9uYXZpZ2F0aW9uJztcbiJdfQ==
@@ -3,7 +3,7 @@
3
3
  * Copyright Google LLC All Rights Reserved.
4
4
  *
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
6
+ * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import { Location, LocationStrategy } from '@angular/common';
9
9
  import { SpyLocation } from './location_mock';
@@ -20,4 +20,4 @@ export function provideLocationMocks() {
20
20
  { provide: LocationStrategy, useClass: MockLocationStrategy },
21
21
  ];
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZV9sb2NhdGlvbl9tb2Nrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi90ZXN0aW5nL3NyYy9wcm92aWRlX2xvY2F0aW9uX21vY2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUczRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU87UUFDTCxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQztRQUMxQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUM7S0FDNUQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtMb2NhdGlvbiwgTG9jYXRpb25TdHJhdGVneX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1NweUxvY2F0aW9ufSBmcm9tICcuL2xvY2F0aW9uX21vY2snO1xuaW1wb3J0IHtNb2NrTG9jYXRpb25TdHJhdGVneX0gZnJvbSAnLi9tb2NrX2xvY2F0aW9uX3N0cmF0ZWd5JztcblxuLyoqXG4gKiBSZXR1cm5zIG1vY2sgcHJvdmlkZXJzIGZvciB0aGUgYExvY2F0aW9uYCBhbmQgYExvY2F0aW9uU3RyYXRlZ3lgIGNsYXNzZXMuXG4gKiBUaGUgbW9ja3MgYXJlIGhlbHBmdWwgaW4gdGVzdHMgdG8gZmlyZSBzaW11bGF0ZWQgbG9jYXRpb24gZXZlbnRzLlxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVMb2NhdGlvbk1vY2tzKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtwcm92aWRlOiBMb2NhdGlvbiwgdXNlQ2xhc3M6IFNweUxvY2F0aW9ufSxcbiAgICB7cHJvdmlkZTogTG9jYXRpb25TdHJhdGVneSwgdXNlQ2xhc3M6IE1vY2tMb2NhdGlvblN0cmF0ZWd5fSxcbiAgXTtcbn1cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZV9sb2NhdGlvbl9tb2Nrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi90ZXN0aW5nL3NyYy9wcm92aWRlX2xvY2F0aW9uX21vY2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUczRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU87UUFDTCxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQztRQUMxQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUM7S0FDNUQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZVxuICovXG5cbmltcG9ydCB7TG9jYXRpb24sIExvY2F0aW9uU3RyYXRlZ3l9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtTcHlMb2NhdGlvbn0gZnJvbSAnLi9sb2NhdGlvbl9tb2NrJztcbmltcG9ydCB7TW9ja0xvY2F0aW9uU3RyYXRlZ3l9IGZyb20gJy4vbW9ja19sb2NhdGlvbl9zdHJhdGVneSc7XG5cbi8qKlxuICogUmV0dXJucyBtb2NrIHByb3ZpZGVycyBmb3IgdGhlIGBMb2NhdGlvbmAgYW5kIGBMb2NhdGlvblN0cmF0ZWd5YCBjbGFzc2VzLlxuICogVGhlIG1vY2tzIGFyZSBoZWxwZnVsIGluIHRlc3RzIHRvIGZpcmUgc2ltdWxhdGVkIGxvY2F0aW9uIGV2ZW50cy5cbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTG9jYXRpb25Nb2NrcygpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7cHJvdmlkZTogTG9jYXRpb24sIHVzZUNsYXNzOiBTcHlMb2NhdGlvbn0sXG4gICAge3Byb3ZpZGU6IExvY2F0aW9uU3RyYXRlZ3ksIHVzZUNsYXNzOiBNb2NrTG9jYXRpb25TdHJhdGVneX0sXG4gIF07XG59XG4iXX0=