@fgv/ts-bcp47 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/data/unsd/m49.json +251 -0
  2. package/package.json +1 -1
  3. package/{bcp47 → src/bcp47}/bcp47Subtags/converters.d.ts +0 -0
  4. package/src/bcp47/bcp47Subtags/converters.d.ts.map +1 -0
  5. package/{bcp47 → src/bcp47}/bcp47Subtags/converters.js +1 -1
  6. package/{bcp47 → src/bcp47}/bcp47Subtags/index.d.ts +0 -0
  7. package/src/bcp47/bcp47Subtags/index.d.ts.map +1 -0
  8. package/{iana/jar/language-subtags/registry → src/bcp47/bcp47Subtags}/index.js +27 -28
  9. package/{bcp47 → src/bcp47}/bcp47Subtags/model.d.ts +0 -0
  10. package/src/bcp47/bcp47Subtags/model.d.ts.map +1 -0
  11. package/{iana/defaultRegistries.js → src/bcp47/bcp47Subtags/model.js} +1 -19
  12. package/{bcp47 → src/bcp47}/bcp47Subtags/validate.d.ts +0 -0
  13. package/src/bcp47/bcp47Subtags/validate.d.ts.map +1 -0
  14. package/src/bcp47/bcp47Subtags/validate.js +74 -0
  15. package/{bcp47 → src/bcp47}/common.d.ts +0 -0
  16. package/src/bcp47/common.d.ts.map +1 -0
  17. package/src/bcp47/common.js +59 -0
  18. package/{bcp47 → src/bcp47}/helpers.d.ts +0 -0
  19. package/src/bcp47/helpers.d.ts.map +1 -0
  20. package/src/bcp47/helpers.js +103 -0
  21. package/{bcp47 → src/bcp47}/index.d.ts +0 -0
  22. package/src/bcp47/index.d.ts.map +1 -0
  23. package/src/bcp47/index.js +27 -0
  24. package/{bcp47 → src/bcp47}/languageTag.d.ts +0 -0
  25. package/src/bcp47/languageTag.d.ts.map +1 -0
  26. package/src/bcp47/languageTag.js +342 -0
  27. package/{bcp47 → src/bcp47}/languageTagParser.d.ts +0 -0
  28. package/src/bcp47/languageTagParser.d.ts.map +1 -0
  29. package/src/bcp47/languageTagParser.js +310 -0
  30. package/{bcp47 → src/bcp47}/match/chooser.d.ts +0 -0
  31. package/src/bcp47/match/chooser.d.ts.map +1 -0
  32. package/src/bcp47/match/chooser.js +92 -0
  33. package/{bcp47 → src/bcp47}/match/common.d.ts +0 -0
  34. package/src/bcp47/match/common.d.ts.map +1 -0
  35. package/src/bcp47/match/common.js +42 -0
  36. package/{bcp47 → src/bcp47}/match/index.d.ts +0 -0
  37. package/src/bcp47/match/index.d.ts.map +1 -0
  38. package/src/bcp47/match/index.js +45 -0
  39. package/{bcp47 → src/bcp47}/match/similarity.d.ts +0 -0
  40. package/src/bcp47/match/similarity.d.ts.map +1 -0
  41. package/src/bcp47/match/similarity.js +230 -0
  42. package/{bcp47 → src/bcp47}/normalization/baseNormalizer.d.ts +0 -0
  43. package/src/bcp47/normalization/baseNormalizer.d.ts.map +1 -0
  44. package/src/bcp47/normalization/baseNormalizer.js +114 -0
  45. package/{bcp47 → src/bcp47}/normalization/canonicalNormalizer.d.ts +0 -0
  46. package/src/bcp47/normalization/canonicalNormalizer.d.ts.map +1 -0
  47. package/src/bcp47/normalization/canonicalNormalizer.js +110 -0
  48. package/{bcp47 → src/bcp47}/normalization/common.d.ts +0 -0
  49. package/src/bcp47/normalization/common.d.ts.map +1 -0
  50. package/src/bcp47/normalization/common.js +82 -0
  51. package/{bcp47 → src/bcp47}/normalization/index.d.ts +0 -0
  52. package/src/bcp47/normalization/index.d.ts.map +1 -0
  53. package/{bcp47 → src/bcp47}/normalization/index.js +1 -1
  54. package/{bcp47 → src/bcp47}/normalization/normalizeTag.d.ts +0 -0
  55. package/src/bcp47/normalization/normalizeTag.d.ts.map +1 -0
  56. package/src/bcp47/normalization/normalizeTag.js +105 -0
  57. package/{bcp47 → src/bcp47}/normalization/preferredTagNormalizer.d.ts +0 -0
  58. package/src/bcp47/normalization/preferredTagNormalizer.d.ts.map +1 -0
  59. package/src/bcp47/normalization/preferredTagNormalizer.js +178 -0
  60. package/{bcp47 → src/bcp47}/overrides/converters.d.ts +0 -0
  61. package/src/bcp47/overrides/converters.d.ts.map +1 -0
  62. package/src/bcp47/overrides/converters.js +75 -0
  63. package/{bcp47 → src/bcp47}/overrides/defaultRegistries.d.ts +0 -0
  64. package/src/bcp47/overrides/defaultRegistries.d.ts.map +1 -0
  65. package/{iana/language-tag-extensions/model.js → src/bcp47/overrides/defaultRegistries.js} +19 -1
  66. package/{bcp47 → src/bcp47}/overrides/index.d.ts +0 -0
  67. package/src/bcp47/overrides/index.d.ts.map +1 -0
  68. package/src/bcp47/overrides/index.js +30 -0
  69. package/{bcp47 → src/bcp47}/overrides/model.d.ts +0 -0
  70. package/src/bcp47/overrides/model.d.ts.map +1 -0
  71. package/{bcp47/bcp47Subtags → src/bcp47/overrides}/model.js +1 -1
  72. package/{bcp47 → src/bcp47}/overrides/overridesRegistry.d.ts +2 -0
  73. package/src/bcp47/overrides/overridesRegistry.d.ts.map +1 -0
  74. package/src/bcp47/overrides/overridesRegistry.js +112 -0
  75. package/{bcp47 → src/bcp47}/validation/baseValidator.d.ts +0 -0
  76. package/src/bcp47/validation/baseValidator.d.ts.map +1 -0
  77. package/src/bcp47/validation/baseValidator.js +111 -0
  78. package/{bcp47 → src/bcp47}/validation/common.d.ts +0 -0
  79. package/src/bcp47/validation/common.d.ts.map +1 -0
  80. package/src/bcp47/validation/common.js +84 -0
  81. package/{bcp47 → src/bcp47}/validation/index.d.ts +0 -0
  82. package/src/bcp47/validation/index.d.ts.map +1 -0
  83. package/src/bcp47/validation/index.js +51 -0
  84. package/{bcp47 → src/bcp47}/validation/isCanonical.d.ts +0 -0
  85. package/src/bcp47/validation/isCanonical.d.ts.map +1 -0
  86. package/src/bcp47/validation/isCanonical.js +101 -0
  87. package/{bcp47 → src/bcp47}/validation/isInPreferredForm.d.ts +0 -0
  88. package/src/bcp47/validation/isInPreferredForm.d.ts.map +1 -0
  89. package/src/bcp47/validation/isInPreferredForm.js +73 -0
  90. package/{bcp47 → src/bcp47}/validation/isStrictlyValid.d.ts +0 -0
  91. package/src/bcp47/validation/isStrictlyValid.d.ts.map +1 -0
  92. package/src/bcp47/validation/isStrictlyValid.js +98 -0
  93. package/{bcp47 → src/bcp47}/validation/isValid.d.ts +0 -0
  94. package/src/bcp47/validation/isValid.d.ts.map +1 -0
  95. package/src/bcp47/validation/isValid.js +115 -0
  96. package/{bcp47 → src/bcp47}/validation/isWellFormed.d.ts +0 -0
  97. package/src/bcp47/validation/isWellFormed.d.ts.map +1 -0
  98. package/src/bcp47/validation/isWellFormed.js +98 -0
  99. package/{bcp47 → src/bcp47}/validation/validateTag.d.ts +0 -0
  100. package/src/bcp47/validation/validateTag.d.ts.map +1 -0
  101. package/src/bcp47/validation/validateTag.js +159 -0
  102. package/{iana → src/iana}/common/converters.d.ts +0 -0
  103. package/src/iana/common/converters.d.ts.map +1 -0
  104. package/src/iana/common/converters.js +84 -0
  105. package/{iana → src/iana}/common/model.d.ts +0 -0
  106. package/src/iana/common/model.d.ts.map +1 -0
  107. package/{iana/jar/jarModel.js → src/iana/common/model.js} +1 -1
  108. package/{iana → src/iana}/common/registeredItems.d.ts +0 -0
  109. package/src/iana/common/registeredItems.d.ts.map +1 -0
  110. package/src/iana/common/registeredItems.js +124 -0
  111. package/{iana → src/iana}/common/utils.d.ts +0 -0
  112. package/src/iana/common/utils.d.ts.map +1 -0
  113. package/src/iana/common/utils.js +34 -0
  114. package/{iana → src/iana}/common/validate.d.ts +0 -0
  115. package/src/iana/common/validate.d.ts.map +1 -0
  116. package/src/iana/common/validate.js +61 -0
  117. package/{iana → src/iana}/converters.d.ts +0 -0
  118. package/src/iana/converters.d.ts.map +1 -0
  119. package/{iana/jar/language-subtags/tags/index.js → src/iana/converters.js} +8 -10
  120. package/{iana → src/iana}/defaultRegistries.d.ts +0 -0
  121. package/src/iana/defaultRegistries.d.ts.map +1 -0
  122. package/src/iana/defaultRegistries.js +42 -0
  123. package/{iana → src/iana}/index.d.ts +0 -0
  124. package/src/iana/index.d.ts.map +1 -0
  125. package/{iana → src/iana}/index.js +1 -1
  126. package/{iana → src/iana}/jar/converters.d.ts +0 -0
  127. package/src/iana/jar/converters.d.ts.map +1 -0
  128. package/{iana → src/iana}/jar/converters.js +1 -1
  129. package/{iana → src/iana}/jar/index.d.ts +0 -0
  130. package/src/iana/jar/index.d.ts.map +1 -0
  131. package/{iana/jar/language-subtags/tags/model.js → src/iana/jar/index.js} +29 -1
  132. package/{iana → src/iana}/jar/jarConverters.d.ts +0 -0
  133. package/src/iana/jar/jarConverters.d.ts.map +1 -0
  134. package/src/iana/jar/jarConverters.js +85 -0
  135. package/{iana → src/iana}/jar/jarModel.d.ts +0 -0
  136. package/src/iana/jar/jarModel.d.ts.map +1 -0
  137. package/src/iana/jar/jarModel.js +24 -0
  138. package/{iana → src/iana}/jar/language-subtags/converters.d.ts +0 -0
  139. package/src/iana/jar/language-subtags/converters.d.ts.map +1 -0
  140. package/{bcp47/bcp47Subtags/index.js → src/iana/jar/language-subtags/converters.js} +6 -8
  141. package/{iana → src/iana}/jar/language-subtags/index.d.ts +0 -0
  142. package/src/iana/jar/language-subtags/index.d.ts.map +1 -0
  143. package/{bcp47/validation → src/iana/jar/language-subtags}/index.js +17 -14
  144. package/{iana → src/iana}/jar/language-subtags/model.d.ts +0 -0
  145. package/src/iana/jar/language-subtags/model.d.ts.map +1 -0
  146. package/{iana/jar/language-subtags/converters.js → src/iana/jar/language-subtags/model.js} +3 -3
  147. package/{iana → src/iana}/jar/language-subtags/registry/converters.d.ts +0 -0
  148. package/src/iana/jar/language-subtags/registry/converters.d.ts.map +1 -0
  149. package/{bcp47/match/index.js → src/iana/jar/language-subtags/registry/converters.js} +23 -10
  150. package/{iana → src/iana}/jar/language-subtags/registry/index.d.ts +0 -0
  151. package/src/iana/jar/language-subtags/registry/index.d.ts.map +1 -0
  152. package/{iana/jar/model.js → src/iana/jar/language-subtags/registry/index.js} +27 -26
  153. package/{iana → src/iana}/jar/language-subtags/registry/model.d.ts +0 -0
  154. package/src/iana/jar/language-subtags/registry/model.d.ts.map +1 -0
  155. package/src/iana/jar/language-subtags/registry/model.js +41 -0
  156. package/{iana → src/iana}/jar/language-subtags/tags/converters.d.ts +0 -0
  157. package/src/iana/jar/language-subtags/tags/converters.d.ts.map +1 -0
  158. package/src/iana/jar/language-subtags/tags/converters.js +128 -0
  159. package/{iana → src/iana}/jar/language-subtags/tags/index.d.ts +0 -0
  160. package/src/iana/jar/language-subtags/tags/index.d.ts.map +1 -0
  161. package/{unsd/csv → src/iana/jar/language-subtags/tags}/index.js +8 -4
  162. package/{iana → src/iana}/jar/language-subtags/tags/model.d.ts +0 -0
  163. package/src/iana/jar/language-subtags/tags/model.d.ts.map +1 -0
  164. package/{utils/jsonHelpers.js → src/iana/jar/language-subtags/tags/model.js} +2 -7
  165. package/{iana → src/iana}/jar/language-subtags/tags/tagValidation.d.ts +0 -0
  166. package/src/iana/jar/language-subtags/tags/tagValidation.d.ts.map +1 -0
  167. package/src/iana/jar/language-subtags/tags/tagValidation.js +70 -0
  168. package/{iana → src/iana}/jar/language-subtags/tags/validate.d.ts +0 -0
  169. package/src/iana/jar/language-subtags/tags/validate.d.ts.map +1 -0
  170. package/src/iana/jar/language-subtags/tags/validate.js +87 -0
  171. package/{iana → src/iana}/jar/model.d.ts +0 -0
  172. package/src/iana/jar/model.d.ts.map +1 -0
  173. package/{iana/converters.js → src/iana/jar/model.js} +8 -8
  174. package/{iana → src/iana}/language-subtags/common.d.ts +0 -0
  175. package/src/iana/language-subtags/common.d.ts.map +1 -0
  176. package/{iana/jar/language-subtags/registry/converters.js → src/iana/language-subtags/common.js} +1 -35
  177. package/{iana → src/iana}/language-subtags/converters.d.ts +0 -0
  178. package/src/iana/language-subtags/converters.d.ts.map +1 -0
  179. package/src/iana/language-subtags/converters.js +200 -0
  180. package/{iana → src/iana}/language-subtags/index.d.ts +0 -0
  181. package/src/iana/language-subtags/index.d.ts.map +1 -0
  182. package/{iana → src/iana}/language-subtags/index.js +1 -1
  183. package/{iana → src/iana}/language-subtags/jarConverters.d.ts +0 -0
  184. package/src/iana/language-subtags/jarConverters.d.ts.map +1 -0
  185. package/src/iana/language-subtags/jarConverters.js +213 -0
  186. package/{iana → src/iana}/language-subtags/model.d.ts +0 -0
  187. package/src/iana/language-subtags/model.d.ts.map +1 -0
  188. package/src/iana/language-subtags/model.js +24 -0
  189. package/{iana → src/iana}/language-subtags/scope.d.ts +0 -0
  190. package/src/iana/language-subtags/scope.d.ts.map +1 -0
  191. package/src/iana/language-subtags/scope.js +179 -0
  192. package/{iana → src/iana}/language-subtags/subtagRegistry.d.ts +2 -0
  193. package/src/iana/language-subtags/subtagRegistry.d.ts.map +1 -0
  194. package/src/iana/language-subtags/subtagRegistry.js +149 -0
  195. package/{iana → src/iana}/language-subtags/validate.d.ts +0 -0
  196. package/src/iana/language-subtags/validate.d.ts.map +1 -0
  197. package/{iana → src/iana}/language-subtags/validate.js +1 -1
  198. package/{iana → src/iana}/language-tag-extensions/converters.d.ts +0 -0
  199. package/src/iana/language-tag-extensions/converters.d.ts.map +1 -0
  200. package/src/iana/language-tag-extensions/converters.js +87 -0
  201. package/{iana → src/iana}/language-tag-extensions/extensionsRegistry.d.ts +2 -0
  202. package/src/iana/language-tag-extensions/extensionsRegistry.d.ts.map +1 -0
  203. package/src/iana/language-tag-extensions/extensionsRegistry.js +104 -0
  204. package/{iana → src/iana}/language-tag-extensions/extensionsScope.d.ts +0 -0
  205. package/src/iana/language-tag-extensions/extensionsScope.d.ts.map +1 -0
  206. package/src/iana/language-tag-extensions/extensionsScope.js +77 -0
  207. package/{iana → src/iana}/language-tag-extensions/index.d.ts +0 -0
  208. package/src/iana/language-tag-extensions/index.d.ts.map +1 -0
  209. package/{iana → src/iana}/language-tag-extensions/index.js +1 -1
  210. package/{iana → src/iana}/language-tag-extensions/jarConverters.d.ts +0 -0
  211. package/src/iana/language-tag-extensions/jarConverters.d.ts.map +1 -0
  212. package/src/iana/language-tag-extensions/jarConverters.js +102 -0
  213. package/{iana → src/iana}/language-tag-extensions/model.d.ts +0 -0
  214. package/src/iana/language-tag-extensions/model.d.ts.map +1 -0
  215. package/src/iana/language-tag-extensions/model.js +24 -0
  216. package/{iana → src/iana}/language-tag-extensions/validate.d.ts +0 -0
  217. package/src/iana/language-tag-extensions/validate.d.ts.map +1 -0
  218. package/src/iana/language-tag-extensions/validate.js +36 -0
  219. package/{iana → src/iana}/languageRegistries.d.ts +1 -0
  220. package/src/iana/languageRegistries.d.ts.map +1 -0
  221. package/src/iana/languageRegistries.js +56 -0
  222. package/{iana → src/iana}/model.d.ts +0 -0
  223. package/src/iana/model.d.ts.map +1 -0
  224. package/{iana → src/iana}/model.js +1 -1
  225. package/{iana → src/iana}/validate.d.ts +0 -0
  226. package/src/iana/validate.d.ts.map +1 -0
  227. package/{bcp47/overrides/defaultRegistries.js → src/iana/validate.js} +17 -20
  228. package/{index.d.ts → src/index.d.ts} +0 -0
  229. package/src/index.d.ts.map +1 -0
  230. package/{index.js → src/index.js} +1 -1
  231. package/{unsd → src/unsd}/areas.d.ts +0 -0
  232. package/src/unsd/areas.d.ts.map +1 -0
  233. package/src/unsd/areas.js +96 -0
  234. package/{unsd → src/unsd}/common.d.ts +0 -0
  235. package/src/unsd/common.d.ts.map +1 -0
  236. package/{iana/jar/language-subtags/model.js → src/unsd/common.js} +1 -29
  237. package/{unsd → src/unsd}/csv/converters.d.ts +0 -0
  238. package/src/unsd/csv/converters.d.ts.map +1 -0
  239. package/src/unsd/csv/converters.js +70 -0
  240. package/{unsd → src/unsd}/csv/index.d.ts +0 -0
  241. package/src/unsd/csv/index.d.ts.map +1 -0
  242. package/{iana/jar → src/unsd/csv}/index.js +1 -1
  243. package/{unsd → src/unsd}/csv/model.d.ts +0 -0
  244. package/src/unsd/csv/model.d.ts.map +1 -0
  245. package/{iana/common → src/unsd/csv}/model.js +1 -1
  246. package/{unsd → src/unsd}/defaultRegistries.d.ts +0 -0
  247. package/src/unsd/defaultRegistries.d.ts.map +1 -0
  248. package/src/unsd/defaultRegistries.js +42 -0
  249. package/{unsd → src/unsd}/index.d.ts +0 -0
  250. package/src/unsd/index.d.ts.map +1 -0
  251. package/{unsd/csv/model.js → src/unsd/index.js} +21 -1
  252. package/{unsd → src/unsd}/regionCodes.d.ts +4 -2
  253. package/src/unsd/regionCodes.d.ts.map +1 -0
  254. package/src/unsd/regionCodes.js +121 -0
  255. package/{unsd → src/unsd}/regions.d.ts +0 -0
  256. package/src/unsd/regions.d.ts.map +1 -0
  257. package/src/unsd/regions.js +77 -0
  258. package/{utils → src/utils}/index.d.ts +0 -0
  259. package/src/utils/index.d.ts.map +1 -0
  260. package/{iana/jar/language-subtags → src/utils}/index.js +4 -18
  261. package/{utils → src/utils}/jsonHelpers.d.ts +0 -0
  262. package/src/utils/jsonHelpers.d.ts.map +1 -0
  263. package/{utils/index.js → src/utils/jsonHelpers.js} +6 -17
  264. package/{utils → src/utils}/validationHelpers.d.ts +0 -0
  265. package/src/utils/validationHelpers.d.ts.map +1 -0
  266. package/src/utils/validationHelpers.js +88 -0
  267. package/bcp47/bcp47Subtags/converters.d.ts.map +0 -1
  268. package/bcp47/bcp47Subtags/index.d.ts.map +0 -1
  269. package/bcp47/bcp47Subtags/model.d.ts.map +0 -1
  270. package/bcp47/bcp47Subtags/validate.d.ts.map +0 -1
  271. package/bcp47/bcp47Subtags/validate.js +0 -74
  272. package/bcp47/common.d.ts.map +0 -1
  273. package/bcp47/common.js +0 -59
  274. package/bcp47/helpers.d.ts.map +0 -1
  275. package/bcp47/helpers.js +0 -103
  276. package/bcp47/index.d.ts.map +0 -1
  277. package/bcp47/index.js +0 -27
  278. package/bcp47/languageTag.d.ts.map +0 -1
  279. package/bcp47/languageTag.js +0 -342
  280. package/bcp47/languageTagParser.d.ts.map +0 -1
  281. package/bcp47/languageTagParser.js +0 -310
  282. package/bcp47/match/chooser.d.ts.map +0 -1
  283. package/bcp47/match/chooser.js +0 -92
  284. package/bcp47/match/common.d.ts.map +0 -1
  285. package/bcp47/match/common.js +0 -42
  286. package/bcp47/match/index.d.ts.map +0 -1
  287. package/bcp47/match/similarity.d.ts.map +0 -1
  288. package/bcp47/match/similarity.js +0 -230
  289. package/bcp47/normalization/baseNormalizer.d.ts.map +0 -1
  290. package/bcp47/normalization/baseNormalizer.js +0 -114
  291. package/bcp47/normalization/canonicalNormalizer.d.ts.map +0 -1
  292. package/bcp47/normalization/canonicalNormalizer.js +0 -110
  293. package/bcp47/normalization/common.d.ts.map +0 -1
  294. package/bcp47/normalization/common.js +0 -82
  295. package/bcp47/normalization/index.d.ts.map +0 -1
  296. package/bcp47/normalization/normalizeTag.d.ts.map +0 -1
  297. package/bcp47/normalization/normalizeTag.js +0 -105
  298. package/bcp47/normalization/preferredTagNormalizer.d.ts.map +0 -1
  299. package/bcp47/normalization/preferredTagNormalizer.js +0 -178
  300. package/bcp47/overrides/converters.d.ts.map +0 -1
  301. package/bcp47/overrides/converters.js +0 -75
  302. package/bcp47/overrides/defaultRegistries.d.ts.map +0 -1
  303. package/bcp47/overrides/index.d.ts.map +0 -1
  304. package/bcp47/overrides/index.js +0 -30
  305. package/bcp47/overrides/model.d.ts.map +0 -1
  306. package/bcp47/overrides/model.js +0 -24
  307. package/bcp47/overrides/overridesRegistry.d.ts.map +0 -1
  308. package/bcp47/overrides/overridesRegistry.js +0 -101
  309. package/bcp47/validation/baseValidator.d.ts.map +0 -1
  310. package/bcp47/validation/baseValidator.js +0 -111
  311. package/bcp47/validation/common.d.ts.map +0 -1
  312. package/bcp47/validation/common.js +0 -84
  313. package/bcp47/validation/index.d.ts.map +0 -1
  314. package/bcp47/validation/isCanonical.d.ts.map +0 -1
  315. package/bcp47/validation/isCanonical.js +0 -101
  316. package/bcp47/validation/isInPreferredForm.d.ts.map +0 -1
  317. package/bcp47/validation/isInPreferredForm.js +0 -73
  318. package/bcp47/validation/isStrictlyValid.d.ts.map +0 -1
  319. package/bcp47/validation/isStrictlyValid.js +0 -98
  320. package/bcp47/validation/isValid.d.ts.map +0 -1
  321. package/bcp47/validation/isValid.js +0 -115
  322. package/bcp47/validation/isWellFormed.d.ts.map +0 -1
  323. package/bcp47/validation/isWellFormed.js +0 -98
  324. package/bcp47/validation/validateTag.d.ts.map +0 -1
  325. package/bcp47/validation/validateTag.js +0 -159
  326. package/data/unsd/m49.csv +0 -250
  327. package/iana/common/converters.d.ts.map +0 -1
  328. package/iana/common/converters.js +0 -84
  329. package/iana/common/model.d.ts.map +0 -1
  330. package/iana/common/registeredItems.d.ts.map +0 -1
  331. package/iana/common/registeredItems.js +0 -124
  332. package/iana/common/utils.d.ts.map +0 -1
  333. package/iana/common/utils.js +0 -34
  334. package/iana/common/validate.d.ts.map +0 -1
  335. package/iana/common/validate.js +0 -61
  336. package/iana/converters.d.ts.map +0 -1
  337. package/iana/defaultRegistries.d.ts.map +0 -1
  338. package/iana/index.d.ts.map +0 -1
  339. package/iana/jar/converters.d.ts.map +0 -1
  340. package/iana/jar/index.d.ts.map +0 -1
  341. package/iana/jar/jarConverters.d.ts.map +0 -1
  342. package/iana/jar/jarConverters.js +0 -85
  343. package/iana/jar/jarModel.d.ts.map +0 -1
  344. package/iana/jar/language-subtags/converters.d.ts.map +0 -1
  345. package/iana/jar/language-subtags/index.d.ts.map +0 -1
  346. package/iana/jar/language-subtags/model.d.ts.map +0 -1
  347. package/iana/jar/language-subtags/registry/converters.d.ts.map +0 -1
  348. package/iana/jar/language-subtags/registry/index.d.ts.map +0 -1
  349. package/iana/jar/language-subtags/registry/model.d.ts.map +0 -1
  350. package/iana/jar/language-subtags/registry/model.js +0 -41
  351. package/iana/jar/language-subtags/tags/converters.d.ts.map +0 -1
  352. package/iana/jar/language-subtags/tags/converters.js +0 -128
  353. package/iana/jar/language-subtags/tags/index.d.ts.map +0 -1
  354. package/iana/jar/language-subtags/tags/model.d.ts.map +0 -1
  355. package/iana/jar/language-subtags/tags/tagValidation.d.ts.map +0 -1
  356. package/iana/jar/language-subtags/tags/tagValidation.js +0 -70
  357. package/iana/jar/language-subtags/tags/validate.d.ts.map +0 -1
  358. package/iana/jar/language-subtags/tags/validate.js +0 -87
  359. package/iana/jar/model.d.ts.map +0 -1
  360. package/iana/language-subtags/common.d.ts.map +0 -1
  361. package/iana/language-subtags/common.js +0 -24
  362. package/iana/language-subtags/converters.d.ts.map +0 -1
  363. package/iana/language-subtags/converters.js +0 -200
  364. package/iana/language-subtags/index.d.ts.map +0 -1
  365. package/iana/language-subtags/jarConverters.d.ts.map +0 -1
  366. package/iana/language-subtags/jarConverters.js +0 -213
  367. package/iana/language-subtags/model.d.ts.map +0 -1
  368. package/iana/language-subtags/model.js +0 -24
  369. package/iana/language-subtags/scope.d.ts.map +0 -1
  370. package/iana/language-subtags/scope.js +0 -179
  371. package/iana/language-subtags/subtagRegistry.d.ts.map +0 -1
  372. package/iana/language-subtags/subtagRegistry.js +0 -139
  373. package/iana/language-subtags/validate.d.ts.map +0 -1
  374. package/iana/language-tag-extensions/converters.d.ts.map +0 -1
  375. package/iana/language-tag-extensions/converters.js +0 -87
  376. package/iana/language-tag-extensions/extensionsRegistry.d.ts.map +0 -1
  377. package/iana/language-tag-extensions/extensionsRegistry.js +0 -94
  378. package/iana/language-tag-extensions/extensionsScope.d.ts.map +0 -1
  379. package/iana/language-tag-extensions/extensionsScope.js +0 -77
  380. package/iana/language-tag-extensions/index.d.ts.map +0 -1
  381. package/iana/language-tag-extensions/jarConverters.d.ts.map +0 -1
  382. package/iana/language-tag-extensions/jarConverters.js +0 -102
  383. package/iana/language-tag-extensions/model.d.ts.map +0 -1
  384. package/iana/language-tag-extensions/validate.d.ts.map +0 -1
  385. package/iana/language-tag-extensions/validate.js +0 -36
  386. package/iana/languageRegistries.d.ts.map +0 -1
  387. package/iana/languageRegistries.js +0 -49
  388. package/iana/model.d.ts.map +0 -1
  389. package/iana/validate.d.ts.map +0 -1
  390. package/iana/validate.js +0 -39
  391. package/index.d.ts.map +0 -1
  392. package/unsd/areas.d.ts.map +0 -1
  393. package/unsd/areas.js +0 -96
  394. package/unsd/common.d.ts.map +0 -1
  395. package/unsd/common.js +0 -24
  396. package/unsd/csv/converters.d.ts.map +0 -1
  397. package/unsd/csv/converters.js +0 -70
  398. package/unsd/csv/index.d.ts.map +0 -1
  399. package/unsd/csv/model.d.ts.map +0 -1
  400. package/unsd/defaultRegistries.d.ts.map +0 -1
  401. package/unsd/defaultRegistries.js +0 -42
  402. package/unsd/index.d.ts.map +0 -1
  403. package/unsd/index.js +0 -44
  404. package/unsd/regionCodes.d.ts.map +0 -1
  405. package/unsd/regionCodes.js +0 -111
  406. package/unsd/regions.d.ts.map +0 -1
  407. package/unsd/regions.js +0 -77
  408. package/utils/index.d.ts.map +0 -1
  409. package/utils/jsonHelpers.d.ts.map +0 -1
  410. package/utils/validationHelpers.d.ts.map +0 -1
  411. package/utils/validationHelpers.js +0 -88
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ var desc = Object.getOwnPropertyDescriptor(m, k);
26
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
+ desc = { enumerable: true, get: function() { return m[k]; } };
28
+ }
29
+ Object.defineProperty(o, k2, desc);
30
+ }) : (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ o[k2] = m[k];
33
+ }));
34
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
36
+ }) : function(o, v) {
37
+ o["default"] = v;
38
+ });
39
+ var __importStar = (this && this.__importStar) || function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.loadLanguageSubtagsJsonFileSync = exports.registryFile = exports.registeredItem = exports.registeredRedundantTag = exports.registeredGrandfatheredTag = exports.registeredVariant = exports.registeredRegion = exports.registeredScript = exports.registeredExtLang = exports.registeredLanguage = exports.extendedLanguageRange = exports.Tags = void 0;
48
+ const TagConverters = __importStar(require("../jar/language-subtags/tags/converters"));
49
+ exports.Tags = TagConverters;
50
+ const ts_utils_1 = require("@fgv/ts-utils");
51
+ const converters_1 = require("../common/converters");
52
+ const file_1 = require("@fgv/ts-json/file");
53
+ const converters_2 = require("../jar/language-subtags/registry/converters");
54
+ /**
55
+ * @public
56
+ */
57
+ exports.extendedLanguageRange = TagConverters.extendedLanguageRange;
58
+ /**
59
+ * @internal
60
+ */
61
+ exports.registeredLanguage = ts_utils_1.Converters.strictObject({
62
+ type: ts_utils_1.Converters.enumeratedValue(['language']),
63
+ subtag: TagConverters.languageSubtag,
64
+ description: ts_utils_1.Converters.stringArray,
65
+ added: converters_1.yearMonthDaySpec,
66
+ comments: ts_utils_1.Converters.stringArray,
67
+ deprecated: converters_1.yearMonthDaySpec,
68
+ macrolanguage: TagConverters.languageSubtag,
69
+ preferredValue: TagConverters.languageSubtag,
70
+ scope: converters_2.registryScopeType,
71
+ suppressScript: TagConverters.scriptSubtag,
72
+ subtagRangeEnd: TagConverters.languageSubtag,
73
+ }, {
74
+ description: 'language subtag registry entry',
75
+ optionalFields: ['comments', 'deprecated', 'macrolanguage', 'preferredValue', 'scope', 'suppressScript', 'subtagRangeEnd'],
76
+ });
77
+ /**
78
+ * @internal
79
+ */
80
+ exports.registeredExtLang = ts_utils_1.Converters.strictObject({
81
+ type: ts_utils_1.Converters.enumeratedValue(['extlang']),
82
+ subtag: TagConverters.tagOrStartOfTagRange(TagConverters.extlangSubtag),
83
+ preferredValue: TagConverters.extendedLanguageRange,
84
+ prefix: TagConverters.extlangPrefix,
85
+ description: ts_utils_1.Converters.stringArray,
86
+ added: converters_1.yearMonthDaySpec,
87
+ comments: ts_utils_1.Converters.stringArray,
88
+ deprecated: converters_1.yearMonthDaySpec,
89
+ macrolanguage: TagConverters.languageSubtag,
90
+ scope: converters_2.registryScopeType,
91
+ suppressScript: TagConverters.scriptSubtag,
92
+ }, {
93
+ description: 'extlang subtag registry entry',
94
+ optionalFields: ['comments', 'deprecated', 'macrolanguage', 'scope', 'suppressScript'],
95
+ });
96
+ /**
97
+ * @internal
98
+ */
99
+ exports.registeredScript = ts_utils_1.Converters.strictObject({
100
+ type: ts_utils_1.Converters.enumeratedValue(['script']),
101
+ subtag: TagConverters.scriptSubtag,
102
+ description: ts_utils_1.Converters.stringArray,
103
+ added: converters_1.yearMonthDaySpec,
104
+ comments: ts_utils_1.Converters.stringArray,
105
+ deprecated: converters_1.yearMonthDaySpec,
106
+ preferredValue: TagConverters.scriptSubtag,
107
+ subtagRangeEnd: TagConverters.scriptSubtag,
108
+ }, {
109
+ description: 'script subtag registry entry',
110
+ optionalFields: ['comments', 'deprecated', 'preferredValue', 'subtagRangeEnd'],
111
+ });
112
+ /**
113
+ * @internal
114
+ */
115
+ exports.registeredRegion = ts_utils_1.Converters.strictObject({
116
+ type: ts_utils_1.Converters.enumeratedValue(['region']),
117
+ subtag: TagConverters.regionSubtag,
118
+ description: ts_utils_1.Converters.stringArray,
119
+ added: converters_1.yearMonthDaySpec,
120
+ comments: ts_utils_1.Converters.stringArray,
121
+ deprecated: converters_1.yearMonthDaySpec,
122
+ preferredValue: TagConverters.regionSubtag,
123
+ subtagRangeEnd: TagConverters.regionSubtag,
124
+ }, {
125
+ description: 'region subtag registry entry',
126
+ optionalFields: ['comments', 'deprecated', 'preferredValue', 'subtagRangeEnd'],
127
+ });
128
+ /**
129
+ * @internal
130
+ */
131
+ exports.registeredVariant = ts_utils_1.Converters.strictObject({
132
+ type: ts_utils_1.Converters.enumeratedValue(['variant']),
133
+ subtag: TagConverters.variantSubtag,
134
+ description: ts_utils_1.Converters.stringArray,
135
+ added: converters_1.yearMonthDaySpec,
136
+ comments: ts_utils_1.Converters.stringArray,
137
+ deprecated: converters_1.yearMonthDaySpec,
138
+ preferredValue: TagConverters.variantSubtag,
139
+ prefix: ts_utils_1.Converters.arrayOf(TagConverters.extendedLanguageRange),
140
+ }, {
141
+ description: 'variant subtag registry entry',
142
+ optionalFields: ['comments', 'deprecated', 'preferredValue', 'prefix'],
143
+ });
144
+ /**
145
+ * @internal
146
+ */
147
+ exports.registeredGrandfatheredTag = ts_utils_1.Converters.strictObject({
148
+ type: ts_utils_1.Converters.enumeratedValue(['grandfathered']),
149
+ tag: TagConverters.grandfatheredTag,
150
+ description: ts_utils_1.Converters.stringArray,
151
+ added: converters_1.yearMonthDaySpec,
152
+ comments: ts_utils_1.Converters.stringArray,
153
+ deprecated: converters_1.yearMonthDaySpec,
154
+ preferredValue: TagConverters.extendedLanguageRange,
155
+ }, {
156
+ description: 'grandfathered tag registry entry',
157
+ optionalFields: ['comments', 'deprecated', 'preferredValue'],
158
+ });
159
+ /**
160
+ * @internal
161
+ */
162
+ exports.registeredRedundantTag = ts_utils_1.Converters.strictObject({
163
+ type: ts_utils_1.Converters.enumeratedValue(['redundant']),
164
+ tag: TagConverters.redundantTag,
165
+ description: ts_utils_1.Converters.stringArray,
166
+ added: converters_1.yearMonthDaySpec,
167
+ comments: ts_utils_1.Converters.stringArray,
168
+ deprecated: converters_1.yearMonthDaySpec,
169
+ preferredValue: TagConverters.extendedLanguageRange,
170
+ }, {
171
+ description: 'redundant tag registry entry',
172
+ optionalFields: ['comments', 'deprecated', 'preferredValue'],
173
+ });
174
+ /**
175
+ * @internal
176
+ */
177
+ exports.registeredItem = ts_utils_1.Converters.discriminatedObject('type', {
178
+ language: exports.registeredLanguage,
179
+ extlang: exports.registeredExtLang,
180
+ script: exports.registeredScript,
181
+ region: exports.registeredRegion,
182
+ variant: exports.registeredVariant,
183
+ grandfathered: exports.registeredGrandfatheredTag,
184
+ redundant: exports.registeredRedundantTag,
185
+ });
186
+ /**
187
+ * @internal
188
+ */
189
+ exports.registryFile = (0, converters_1.datedRegistry)(exports.registeredItem);
190
+ /**
191
+ * @public
192
+ * @param path - String path from which file is to be loaded.
193
+ * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}
194
+ * or `Failure` with details if an error occurs.
195
+ */
196
+ function loadLanguageSubtagsJsonFileSync(path) {
197
+ return (0, file_1.convertJsonFileSync)(path, exports.registryFile);
198
+ }
199
+ exports.loadLanguageSubtagsJsonFileSync = loadLanguageSubtagsJsonFileSync;
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pYW5hL2xhbmd1YWdlLXN1YnRhZ3MvY29udmVydGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdILHVGQUF5RTtBQVEvQyw2QkFBSTtBQU45Qiw0Q0FBbUQ7QUFDbkQscURBQXVFO0FBRXZFLDRDQUF3RDtBQUN4RCw0RUFBZ0Y7QUFJaEY7O0dBRUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQztBQUV6RTs7R0FFRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcscUJBQVUsQ0FBQyxZQUFZLENBQ3JEO0lBQ0ksSUFBSSxFQUFFLHFCQUFVLENBQUMsZUFBZSxDQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUQsTUFBTSxFQUFFLGFBQWEsQ0FBQyxjQUFjO0lBQ3BDLFdBQVcsRUFBRSxxQkFBVSxDQUFDLFdBQVc7SUFDbkMsS0FBSyxFQUFFLDZCQUFnQjtJQUN2QixRQUFRLEVBQUUscUJBQVUsQ0FBQyxXQUFXO0lBQ2hDLFVBQVUsRUFBRSw2QkFBZ0I7SUFDNUIsYUFBYSxFQUFFLGFBQWEsQ0FBQyxjQUFjO0lBQzNDLGNBQWMsRUFBRSxhQUFhLENBQUMsY0FBYztJQUM1QyxLQUFLLEVBQUUsOEJBQWlCO0lBQ3hCLGNBQWMsRUFBRSxhQUFhLENBQUMsWUFBWTtJQUMxQyxjQUFjLEVBQUUsYUFBYSxDQUFDLGNBQWM7Q0FDL0MsRUFDRDtJQUNJLFdBQVcsRUFBRSxnQ0FBZ0M7SUFDN0MsY0FBYyxFQUFFLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0NBQzdILENBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxpQkFB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SUFDNUIsT0FBTyxFQUFFLHlCQUFpQjtJQUMxQixNQUFNLEVBQUUsd0JBQWdCO0lBQ3hCLE1BQU0sRUFBRSx3QkFBZ0I7SUFDeEIsT0FBTyxFQUFFLHlCQUFpQjtJQUMxQixhQUFhLEVBQUUsa0NBQTBCO0lBQ3pDLFNBQVMsRUFBRSw4QkFBc0I7Q0FDcEMsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDVSxRQUFBLFlBQVksR0FBRyxJQUFBLDBCQUFhLEVBQUMsc0JBQWMsQ0FBQyxDQUFDO0FBRTFEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsK0JBQStCLENBQUMsSUFBWTtJQUN4RCxPQUFPLElBQUEsMEJBQW1CLEVBQUMsSUFBSSxFQUFFLG9CQUFZLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRkQsMEVBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi9tb2RlbCc7XG5pbXBvcnQgKiBhcyBUYWdDb252ZXJ0ZXJzIGZyb20gJy4uL2phci9sYW5ndWFnZS1zdWJ0YWdzL3RhZ3MvY29udmVydGVycyc7XG5cbmltcG9ydCB7IENvbnZlcnRlcnMsIFJlc3VsdCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgZGF0ZWRSZWdpc3RyeSwgeWVhck1vbnRoRGF5U3BlYyB9IGZyb20gJy4uL2NvbW1vbi9jb252ZXJ0ZXJzJztcblxuaW1wb3J0IHsgY29udmVydEpzb25GaWxlU3luYyB9IGZyb20gJ0BmZ3YvdHMtanNvbi9maWxlJztcbmltcG9ydCB7IHJlZ2lzdHJ5U2NvcGVUeXBlIH0gZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvcmVnaXN0cnkvY29udmVydGVycyc7XG5cbmV4cG9ydCB7IFRhZ0NvbnZlcnRlcnMgYXMgVGFncyB9O1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVuZGVkTGFuZ3VhZ2VSYW5nZSA9IFRhZ0NvbnZlcnRlcnMuZXh0ZW5kZWRMYW5ndWFnZVJhbmdlO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZExhbmd1YWdlID0gQ29udmVydGVycy5zdHJpY3RPYmplY3Q8TW9kZWwuUmVnaXN0ZXJlZExhbmd1YWdlPihcbiAgICB7XG4gICAgICAgIHR5cGU6IENvbnZlcnRlcnMuZW51bWVyYXRlZFZhbHVlPCdsYW5ndWFnZSc+KFsnbGFuZ3VhZ2UnXSksXG4gICAgICAgIHN1YnRhZzogVGFnQ29udmVydGVycy5sYW5ndWFnZVN1YnRhZyxcbiAgICAgICAgZGVzY3JpcHRpb246IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGFkZGVkOiB5ZWFyTW9udGhEYXlTcGVjLFxuICAgICAgICBjb21tZW50czogQ29udmVydGVycy5zdHJpbmdBcnJheSxcbiAgICAgICAgZGVwcmVjYXRlZDogeWVhck1vbnRoRGF5U3BlYyxcbiAgICAgICAgbWFjcm9sYW5ndWFnZTogVGFnQ29udmVydGVycy5sYW5ndWFnZVN1YnRhZyxcbiAgICAgICAgcHJlZmVycmVkVmFsdWU6IFRhZ0NvbnZlcnRlcnMubGFuZ3VhZ2VTdWJ0YWcsXG4gICAgICAgIHNjb3BlOiByZWdpc3RyeVNjb3BlVHlwZSxcbiAgICAgICAgc3VwcHJlc3NTY3JpcHQ6IFRhZ0NvbnZlcnRlcnMuc2NyaXB0U3VidGFnLFxuICAgICAgICBzdWJ0YWdSYW5nZUVuZDogVGFnQ29udmVydGVycy5sYW5ndWFnZVN1YnRhZyxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdsYW5ndWFnZSBzdWJ0YWcgcmVnaXN0cnkgZW50cnknLFxuICAgICAgICBvcHRpb25hbEZpZWxkczogWydjb21tZW50cycsICdkZXByZWNhdGVkJywgJ21hY3JvbGFuZ3VhZ2UnLCAncHJlZmVycmVkVmFsdWUnLCAnc2NvcGUnLCAnc3VwcHJlc3NTY3JpcHQnLCAnc3VidGFnUmFuZ2VFbmQnXSxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZEV4dExhbmcgPSBDb252ZXJ0ZXJzLnN0cmljdE9iamVjdDxNb2RlbC5SZWdpc3RlcmVkRXh0TGFuZz4oXG4gICAge1xuICAgICAgICB0eXBlOiBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTwnZXh0bGFuZyc+KFsnZXh0bGFuZyddKSxcbiAgICAgICAgc3VidGFnOiBUYWdDb252ZXJ0ZXJzLnRhZ09yU3RhcnRPZlRhZ1JhbmdlKFRhZ0NvbnZlcnRlcnMuZXh0bGFuZ1N1YnRhZyksXG4gICAgICAgIHByZWZlcnJlZFZhbHVlOiBUYWdDb252ZXJ0ZXJzLmV4dGVuZGVkTGFuZ3VhZ2VSYW5nZSxcbiAgICAgICAgcHJlZml4OiBUYWdDb252ZXJ0ZXJzLmV4dGxhbmdQcmVmaXgsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LFxuICAgICAgICBhZGRlZDogeWVhck1vbnRoRGF5U3BlYyxcbiAgICAgICAgY29tbWVudHM6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHllYXJNb250aERheVNwZWMsXG4gICAgICAgIG1hY3JvbGFuZ3VhZ2U6IFRhZ0NvbnZlcnRlcnMubGFuZ3VhZ2VTdWJ0YWcsXG4gICAgICAgIHNjb3BlOiByZWdpc3RyeVNjb3BlVHlwZSxcbiAgICAgICAgc3VwcHJlc3NTY3JpcHQ6IFRhZ0NvbnZlcnRlcnMuc2NyaXB0U3VidGFnLFxuICAgIH0sXG4gICAge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ2V4dGxhbmcgc3VidGFnIHJlZ2lzdHJ5IGVudHJ5JyxcbiAgICAgICAgb3B0aW9uYWxGaWVsZHM6IFsnY29tbWVudHMnLCAnZGVwcmVjYXRlZCcsICdtYWNyb2xhbmd1YWdlJywgJ3Njb3BlJywgJ3N1cHByZXNzU2NyaXB0J10sXG4gICAgfVxuKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyZWRTY3JpcHQgPSBDb252ZXJ0ZXJzLnN0cmljdE9iamVjdDxNb2RlbC5SZWdpc3RlcmVkU2NyaXB0PihcbiAgICB7XG4gICAgICAgIHR5cGU6IENvbnZlcnRlcnMuZW51bWVyYXRlZFZhbHVlPCdzY3JpcHQnPihbJ3NjcmlwdCddKSxcbiAgICAgICAgc3VidGFnOiBUYWdDb252ZXJ0ZXJzLnNjcmlwdFN1YnRhZyxcbiAgICAgICAgZGVzY3JpcHRpb246IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGFkZGVkOiB5ZWFyTW9udGhEYXlTcGVjLFxuICAgICAgICBjb21tZW50czogQ29udmVydGVycy5zdHJpbmdBcnJheSxcbiAgICAgICAgZGVwcmVjYXRlZDogeWVhck1vbnRoRGF5U3BlYyxcbiAgICAgICAgcHJlZmVycmVkVmFsdWU6IFRhZ0NvbnZlcnRlcnMuc2NyaXB0U3VidGFnLFxuICAgICAgICBzdWJ0YWdSYW5nZUVuZDogVGFnQ29udmVydGVycy5zY3JpcHRTdWJ0YWcsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnc2NyaXB0IHN1YnRhZyByZWdpc3RyeSBlbnRyeScsXG4gICAgICAgIG9wdGlvbmFsRmllbGRzOiBbJ2NvbW1lbnRzJywgJ2RlcHJlY2F0ZWQnLCAncHJlZmVycmVkVmFsdWUnLCAnc3VidGFnUmFuZ2VFbmQnXSxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZFJlZ2lvbiA9IENvbnZlcnRlcnMuc3RyaWN0T2JqZWN0PE1vZGVsLlJlZ2lzdGVyZWRSZWdpb24+KFxuICAgIHtcbiAgICAgICAgdHlwZTogQ29udmVydGVycy5lbnVtZXJhdGVkVmFsdWU8J3JlZ2lvbic+KFsncmVnaW9uJ10pLFxuICAgICAgICBzdWJ0YWc6IFRhZ0NvbnZlcnRlcnMucmVnaW9uU3VidGFnLFxuICAgICAgICBkZXNjcmlwdGlvbjogQ29udmVydGVycy5zdHJpbmdBcnJheSxcbiAgICAgICAgYWRkZWQ6IHllYXJNb250aERheVNwZWMsXG4gICAgICAgIGNvbW1lbnRzOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LFxuICAgICAgICBkZXByZWNhdGVkOiB5ZWFyTW9udGhEYXlTcGVjLFxuICAgICAgICBwcmVmZXJyZWRWYWx1ZTogVGFnQ29udmVydGVycy5yZWdpb25TdWJ0YWcsXG4gICAgICAgIHN1YnRhZ1JhbmdlRW5kOiBUYWdDb252ZXJ0ZXJzLnJlZ2lvblN1YnRhZyxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdyZWdpb24gc3VidGFnIHJlZ2lzdHJ5IGVudHJ5JyxcbiAgICAgICAgb3B0aW9uYWxGaWVsZHM6IFsnY29tbWVudHMnLCAnZGVwcmVjYXRlZCcsICdwcmVmZXJyZWRWYWx1ZScsICdzdWJ0YWdSYW5nZUVuZCddLFxuICAgIH1cbik7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlcmVkVmFyaWFudCA9IENvbnZlcnRlcnMuc3RyaWN0T2JqZWN0PE1vZGVsLlJlZ2lzdGVyZWRWYXJpYW50PihcbiAgICB7XG4gICAgICAgIHR5cGU6IENvbnZlcnRlcnMuZW51bWVyYXRlZFZhbHVlPCd2YXJpYW50Jz4oWyd2YXJpYW50J10pLFxuICAgICAgICBzdWJ0YWc6IFRhZ0NvbnZlcnRlcnMudmFyaWFudFN1YnRhZyxcbiAgICAgICAgZGVzY3JpcHRpb246IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGFkZGVkOiB5ZWFyTW9udGhEYXlTcGVjLFxuICAgICAgICBjb21tZW50czogQ29udmVydGVycy5zdHJpbmdBcnJheSxcbiAgICAgICAgZGVwcmVjYXRlZDogeWVhck1vbnRoRGF5U3BlYyxcbiAgICAgICAgcHJlZmVycmVkVmFsdWU6IFRhZ0NvbnZlcnRlcnMudmFyaWFudFN1YnRhZyxcbiAgICAgICAgcHJlZml4OiBDb252ZXJ0ZXJzLmFycmF5T2YoVGFnQ29udmVydGVycy5leHRlbmRlZExhbmd1YWdlUmFuZ2UpLFxuICAgIH0sXG4gICAge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ3ZhcmlhbnQgc3VidGFnIHJlZ2lzdHJ5IGVudHJ5JyxcbiAgICAgICAgb3B0aW9uYWxGaWVsZHM6IFsnY29tbWVudHMnLCAnZGVwcmVjYXRlZCcsICdwcmVmZXJyZWRWYWx1ZScsICdwcmVmaXgnXSxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZEdyYW5kZmF0aGVyZWRUYWcgPSBDb252ZXJ0ZXJzLnN0cmljdE9iamVjdDxNb2RlbC5SZWdpc3RlcmVkR3JhbmRmYXRoZXJlZFRhZz4oXG4gICAge1xuICAgICAgICB0eXBlOiBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTwnZ3JhbmRmYXRoZXJlZCc+KFsnZ3JhbmRmYXRoZXJlZCddKSxcbiAgICAgICAgdGFnOiBUYWdDb252ZXJ0ZXJzLmdyYW5kZmF0aGVyZWRUYWcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LFxuICAgICAgICBhZGRlZDogeWVhck1vbnRoRGF5U3BlYyxcbiAgICAgICAgY29tbWVudHM6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHllYXJNb250aERheVNwZWMsXG4gICAgICAgIHByZWZlcnJlZFZhbHVlOiBUYWdDb252ZXJ0ZXJzLmV4dGVuZGVkTGFuZ3VhZ2VSYW5nZSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdncmFuZGZhdGhlcmVkIHRhZyByZWdpc3RyeSBlbnRyeScsXG4gICAgICAgIG9wdGlvbmFsRmllbGRzOiBbJ2NvbW1lbnRzJywgJ2RlcHJlY2F0ZWQnLCAncHJlZmVycmVkVmFsdWUnXSxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZFJlZHVuZGFudFRhZyA9IENvbnZlcnRlcnMuc3RyaWN0T2JqZWN0PE1vZGVsLlJlZ2lzdGVyZWRSZWR1bmRhbnRUYWc+KFxuICAgIHtcbiAgICAgICAgdHlwZTogQ29udmVydGVycy5lbnVtZXJhdGVkVmFsdWU8J3JlZHVuZGFudCc+KFsncmVkdW5kYW50J10pLFxuICAgICAgICB0YWc6IFRhZ0NvbnZlcnRlcnMucmVkdW5kYW50VGFnLFxuICAgICAgICBkZXNjcmlwdGlvbjogQ29udmVydGVycy5zdHJpbmdBcnJheSxcbiAgICAgICAgYWRkZWQ6IHllYXJNb250aERheVNwZWMsXG4gICAgICAgIGNvbW1lbnRzOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LFxuICAgICAgICBkZXByZWNhdGVkOiB5ZWFyTW9udGhEYXlTcGVjLFxuICAgICAgICBwcmVmZXJyZWRWYWx1ZTogVGFnQ29udmVydGVycy5leHRlbmRlZExhbmd1YWdlUmFuZ2UsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAncmVkdW5kYW50IHRhZyByZWdpc3RyeSBlbnRyeScsXG4gICAgICAgIG9wdGlvbmFsRmllbGRzOiBbJ2NvbW1lbnRzJywgJ2RlcHJlY2F0ZWQnLCAncHJlZmVycmVkVmFsdWUnXSxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZEl0ZW0gPSBDb252ZXJ0ZXJzLmRpc2NyaW1pbmF0ZWRPYmplY3Q8TW9kZWwuUmVnaXN0ZXJlZEl0ZW0+KCd0eXBlJywge1xuICAgIGxhbmd1YWdlOiByZWdpc3RlcmVkTGFuZ3VhZ2UsXG4gICAgZXh0bGFuZzogcmVnaXN0ZXJlZEV4dExhbmcsXG4gICAgc2NyaXB0OiByZWdpc3RlcmVkU2NyaXB0LFxuICAgIHJlZ2lvbjogcmVnaXN0ZXJlZFJlZ2lvbixcbiAgICB2YXJpYW50OiByZWdpc3RlcmVkVmFyaWFudCxcbiAgICBncmFuZGZhdGhlcmVkOiByZWdpc3RlcmVkR3JhbmRmYXRoZXJlZFRhZyxcbiAgICByZWR1bmRhbnQ6IHJlZ2lzdGVyZWRSZWR1bmRhbnRUYWcsXG59KTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdHJ5RmlsZSA9IGRhdGVkUmVnaXN0cnkocmVnaXN0ZXJlZEl0ZW0pO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBwYXJhbSBwYXRoIC0gU3RyaW5nIHBhdGggZnJvbSB3aGljaCBmaWxlIGlzIHRvIGJlIGxvYWRlZC5cbiAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSByZXN1bHRpbmcge0BsaW5rIElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLk1vZGVsLlJlZ2lzdHJ5RmlsZSB8IHJlZ2lzdHJ5IGZpbGV9XG4gKiBvciBgRmFpbHVyZWAgd2l0aCBkZXRhaWxzIGlmIGFuIGVycm9yIG9jY3Vycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRMYW5ndWFnZVN1YnRhZ3NKc29uRmlsZVN5bmMocGF0aDogc3RyaW5nKTogUmVzdWx0PE1vZGVsLlJlZ2lzdHJ5RmlsZT4ge1xuICAgIHJldHVybiBjb252ZXJ0SnNvbkZpbGVTeW5jKHBhdGgsIHJlZ2lzdHJ5RmlsZSk7XG59XG4iXX0=
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/iana/language-subtags/index.ts"],"names":[],"mappings":"AAsBA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC"}
@@ -57,4 +57,4 @@ const Model = __importStar(require("./model"));
57
57
  exports.Model = Model;
58
58
  const Validate = __importStar(require("./validate"));
59
59
  exports.Validate = Validate;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWFuYS9sYW5ndWFnZS1zdWJ0YWdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsMkNBQXlCO0FBQ3pCLG1EQUEwRDtBQUFqRCx3SEFBQSxzQkFBc0IsT0FBQTtBQUUvQix5REFBMkM7QUFJbEMsZ0NBQVU7QUFIbkIsK0NBQWlDO0FBR1osc0JBQUs7QUFGMUIscURBQXVDO0FBRVgsNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0IHsgTGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeSB9IGZyb20gJy4vc3VidGFnUmVnaXN0cnknO1xuXG5pbXBvcnQgKiBhcyBDb252ZXJ0ZXJzIGZyb20gJy4vY29udmVydGVycyc7XG5pbXBvcnQgKiBhcyBNb2RlbCBmcm9tICcuL21vZGVsJztcbmltcG9ydCAqIGFzIFZhbGlkYXRlIGZyb20gJy4vdmFsaWRhdGUnO1xuXG5leHBvcnQgeyBDb252ZXJ0ZXJzLCBNb2RlbCwgVmFsaWRhdGUgfTtcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWFuYS9sYW5ndWFnZS1zdWJ0YWdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsMkNBQXlCO0FBQ3pCLG1EQUEwRDtBQUFqRCx3SEFBQSxzQkFBc0IsT0FBQTtBQUUvQix5REFBMkM7QUFJbEMsZ0NBQVU7QUFIbkIsK0NBQWlDO0FBR1osc0JBQUs7QUFGMUIscURBQXVDO0FBRVgsNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0IHsgTGFuZ3VhZ2VTdWJ0YWdSZWdpc3RyeSB9IGZyb20gJy4vc3VidGFnUmVnaXN0cnknO1xuXG5pbXBvcnQgKiBhcyBDb252ZXJ0ZXJzIGZyb20gJy4vY29udmVydGVycyc7XG5pbXBvcnQgKiBhcyBNb2RlbCBmcm9tICcuL21vZGVsJztcbmltcG9ydCAqIGFzIFZhbGlkYXRlIGZyb20gJy4vdmFsaWRhdGUnO1xuXG5leHBvcnQgeyBDb252ZXJ0ZXJzLCBNb2RlbCwgVmFsaWRhdGUgfTtcbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jarConverters.d.ts","sourceRoot":"","sources":["../../../../src/iana/language-subtags/jarConverters.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAyB,MAAM,EAAE,MAAM,eAAe,CAAC;AAO9D;;GAEG;AACH,eAAO,MAAM,kBAAkB,sEAkB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,qEAkB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,oEAe5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,oEAe5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,qEAe7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,8EActC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,0EAclC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,kEAQzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,oGAAgC,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAEvF;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAOtF"}
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ var desc = Object.getOwnPropertyDescriptor(m, k);
26
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
+ desc = { enumerable: true, get: function() { return m[k]; } };
28
+ }
29
+ Object.defineProperty(o, k2, desc);
30
+ }) : (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ o[k2] = m[k];
33
+ }));
34
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
36
+ }) : function(o, v) {
37
+ o["default"] = v;
38
+ });
39
+ var __importStar = (this && this.__importStar) || function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.loadTxtSubtagRegistryFileSync = exports.loadJsonSubtagRegistryFileSync = exports.registryFile = exports.registeredItem = exports.registeredRedundantTag = exports.registeredGrandfatheredTag = exports.registeredVariant = exports.registeredRegion = exports.registeredScript = exports.registeredExtLang = exports.registeredLanguage = void 0;
48
+ const TagConverters = __importStar(require("../jar/language-subtags/tags/converters"));
49
+ const ts_utils_1 = require("@fgv/ts-utils");
50
+ const converters_1 = require("../common/converters");
51
+ const file_1 = require("@fgv/ts-json/file");
52
+ const jarConverters_1 = require("../jar/jarConverters");
53
+ const converters_2 = require("../jar/language-subtags/registry/converters");
54
+ /**
55
+ * @internal
56
+ */
57
+ exports.registeredLanguage = ts_utils_1.Converters.transformObject({
58
+ type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['language']) },
59
+ subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.languageSubtag) },
60
+ description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
61
+ added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
62
+ comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
63
+ deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
64
+ macrolanguage: { from: 'Macrolanguage', converter: TagConverters.languageSubtag, optional: true },
65
+ preferredValue: { from: 'Preferred-Value', converter: TagConverters.languageSubtag, optional: true },
66
+ scope: { from: 'Scope', converter: converters_2.registryScopeType, optional: true },
67
+ suppressScript: { from: 'Suppress-Script', converter: TagConverters.scriptSubtag, optional: true },
68
+ subtagRangeEnd: { from: 'Subtag', converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.languageSubtag), optional: true },
69
+ }, {
70
+ strict: true,
71
+ description: 'language subtag',
72
+ });
73
+ /**
74
+ * @internal
75
+ */
76
+ exports.registeredExtLang = ts_utils_1.Converters.transformObject({
77
+ type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['extlang']) },
78
+ subtag: { from: 'Subtag', converter: TagConverters.extlangSubtag },
79
+ preferredValue: { from: 'Preferred-Value', converter: TagConverters.extendedLanguageRange },
80
+ prefix: { from: 'Prefix', converter: TagConverters.extlangPrefix },
81
+ description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
82
+ added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
83
+ comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
84
+ deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
85
+ macrolanguage: { from: 'Macrolanguage', converter: TagConverters.languageSubtag, optional: true },
86
+ scope: { from: 'Scope', converter: converters_2.registryScopeType, optional: true },
87
+ suppressScript: { from: 'Suppress-Script', converter: TagConverters.scriptSubtag, optional: true },
88
+ }, {
89
+ strict: true,
90
+ description: 'extlang subtag',
91
+ });
92
+ /**
93
+ * @internal
94
+ */
95
+ exports.registeredScript = ts_utils_1.Converters.transformObject({
96
+ type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['script']) },
97
+ subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.scriptSubtag) },
98
+ description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
99
+ added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
100
+ comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
101
+ deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
102
+ preferredValue: { from: 'Preferred-Value', converter: TagConverters.scriptSubtag, optional: true },
103
+ subtagRangeEnd: { from: 'Subtag', converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.scriptSubtag), optional: true },
104
+ }, {
105
+ strict: true,
106
+ description: 'script subtag',
107
+ });
108
+ /**
109
+ * @internal
110
+ */
111
+ exports.registeredRegion = ts_utils_1.Converters.transformObject({
112
+ type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['region']) },
113
+ subtag: { from: 'Subtag', converter: TagConverters.tagOrStartOfTagRange(TagConverters.regionSubtag) },
114
+ description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
115
+ added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
116
+ comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
117
+ deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
118
+ preferredValue: { from: 'Preferred-Value', converter: TagConverters.regionSubtag, optional: true },
119
+ subtagRangeEnd: { from: 'Subtag', converter: TagConverters.endOfTagRangeOrUndefined(TagConverters.regionSubtag), optional: true },
120
+ }, {
121
+ strict: true,
122
+ description: 'region subtag',
123
+ });
124
+ /**
125
+ * @internal
126
+ */
127
+ exports.registeredVariant = ts_utils_1.Converters.transformObject({
128
+ type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['variant']) },
129
+ subtag: { from: 'Subtag', converter: TagConverters.variantSubtag },
130
+ description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
131
+ added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
132
+ comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
133
+ deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
134
+ preferredValue: { from: 'Preferred-Value', converter: TagConverters.variantSubtag, optional: true },
135
+ prefix: { from: 'Prefix', converter: ts_utils_1.Converters.arrayOf(TagConverters.extendedLanguageRange), optional: true },
136
+ }, {
137
+ strict: true,
138
+ description: 'variant subtag',
139
+ });
140
+ /**
141
+ * @internal
142
+ */
143
+ exports.registeredGrandfatheredTag = ts_utils_1.Converters.transformObject({
144
+ type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['grandfathered']) },
145
+ tag: { from: 'Tag', converter: TagConverters.grandfatheredTag },
146
+ description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
147
+ added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
148
+ comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
149
+ deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
150
+ preferredValue: { from: 'Preferred-Value', converter: TagConverters.extendedLanguageRange, optional: true },
151
+ }, {
152
+ strict: true,
153
+ description: 'grandfathered tag',
154
+ });
155
+ /**
156
+ * @internal
157
+ */
158
+ exports.registeredRedundantTag = ts_utils_1.Converters.transformObject({
159
+ type: { from: 'Type', converter: ts_utils_1.Converters.enumeratedValue(['redundant']) },
160
+ tag: { from: 'Tag', converter: TagConverters.redundantTag },
161
+ description: { from: 'Description', converter: ts_utils_1.Converters.stringArray },
162
+ added: { from: 'Added', converter: converters_1.yearMonthDaySpec },
163
+ comments: { from: 'Comments', converter: ts_utils_1.Converters.stringArray, optional: true },
164
+ deprecated: { from: 'Deprecated', converter: converters_1.yearMonthDaySpec, optional: true },
165
+ preferredValue: { from: 'Preferred-Value', converter: TagConverters.extendedLanguageRange, optional: true },
166
+ }, {
167
+ strict: true,
168
+ description: 'redundant tag',
169
+ });
170
+ /**
171
+ * @internal
172
+ */
173
+ exports.registeredItem = ts_utils_1.Converters.discriminatedObject('Type', {
174
+ language: exports.registeredLanguage,
175
+ extlang: exports.registeredExtLang,
176
+ script: exports.registeredScript,
177
+ region: exports.registeredRegion,
178
+ variant: exports.registeredVariant,
179
+ grandfathered: exports.registeredGrandfatheredTag,
180
+ redundant: exports.registeredRedundantTag,
181
+ });
182
+ /**
183
+ * @internal
184
+ */
185
+ exports.registryFile = (0, converters_1.datedRegistry)(exports.registeredItem);
186
+ /**
187
+ * Loads a JSON-format language subtag registry file.
188
+ * @param path - The string path from which the registry is to be loaded.
189
+ * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}
190
+ * or `Failure` with details if an error occurs.
191
+ * @internal
192
+ */
193
+ function loadJsonSubtagRegistryFileSync(path) {
194
+ return (0, file_1.convertJsonFileSync)(path, exports.registryFile);
195
+ }
196
+ exports.loadJsonSubtagRegistryFileSync = loadJsonSubtagRegistryFileSync;
197
+ /**
198
+ * Loads a text (JAR) format language subtag registry file.
199
+ * @param path - The string path from which the registry is to be loaded.
200
+ * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}
201
+ * or `Failure` with details if an error occurs.
202
+ * @internal
203
+ */
204
+ function loadTxtSubtagRegistryFileSync(path) {
205
+ return ts_utils_1.RecordJar.readRecordJarFileSync(path, {
206
+ arrayFields: ['Comments', 'Description', 'Prefix'],
207
+ fixedContinuationSize: 1,
208
+ }).onSuccess((jar) => {
209
+ return (0, jarConverters_1.datedRegistryFromJarRecords)(exports.registeredItem).convert(jar);
210
+ });
211
+ }
212
+ exports.loadTxtSubtagRegistryFileSync = loadTxtSubtagRegistryFileSync;
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFyQ29udmVydGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pYW5hL2xhbmd1YWdlLXN1YnRhZ3MvamFyQ29udmVydGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlILHVGQUF5RTtBQUV6RSw0Q0FBOEQ7QUFDOUQscURBQXVFO0FBRXZFLDRDQUF3RDtBQUN4RCx3REFBbUU7QUFDbkUsNEVBQWdGO0FBRWhGOztHQUVHO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRyxxQkFBVSxDQUFDLGVBQWUsQ0FDeEQ7SUFDSSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxxQkFBVSxDQUFDLGVBQWUsQ0FBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUU7SUFDdkYsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRTtJQUN2RyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxxQkFBVSxDQUFDLFdBQVcsRUFBRTtJQUN2RSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSw2QkFBZ0IsRUFBRTtJQUNyRCxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxxQkFBVSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBQ2pGLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLDZCQUFnQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFDL0UsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFD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QSxjQUFjLEdBQUcscUJBQVUsQ0FBQyxtQkFBbUIsQ0FBdUIsTUFBTSxFQUFFO0lBQ3ZGLFFBQVEsRUFBRSwwQkFBa0I7SUFDNUIsT0FBTyxFQUFFLHlCQUFpQjtJQUMxQixNQUFNLEVBQUUsd0JBQWdCO0lBQ3hCLE1BQU0sRUFBRSx3QkFBZ0I7SUFDeEIsT0FBTyxFQUFFLHlCQUFpQjtJQUMxQixhQUFhLEVBQUUsa0NBQTBCO0lBQ3pDLFNBQVMsRUFBRSw4QkFBc0I7Q0FDcEMsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDVSxRQUFBLFlBQVksR0FBRyxJQUFBLDBCQUFhLEVBQUMsc0JBQWMsQ0FBQyxDQUFDO0FBRTFEOzs7Ozs7R0FNRztBQUNILFNBQWdCLDhCQUE4QixDQUFDLElBQVk7SUFDdkQsT0FBTyxJQUFBLDBCQUFtQixFQUFDLElBQUksRUFBRSxvQkFBWSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUZELHdFQUVDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsNkJBQTZCLENBQUMsSUFBWTtJQUN0RCxPQUFPLG9CQUFTLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFO1FBQ3pDLFdBQVcsRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDO1FBQ2xELHFCQUFxQixFQUFFLENBQUM7S0FDM0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ2pCLE9BQU8sSUFBQSwyQ0FBMkIsRUFBQyxzQkFBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQVBELHNFQU9DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCAqIGFzIEl0ZW1zIGZyb20gJy4vbW9kZWwnO1xuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvcmVnaXN0cnkvbW9kZWwnO1xuaW1wb3J0ICogYXMgVGFnQ29udmVydGVycyBmcm9tICcuLi9qYXIvbGFuZ3VhZ2Utc3VidGFncy90YWdzL2NvbnZlcnRlcnMnO1xuXG5pbXBvcnQgeyBDb252ZXJ0ZXJzLCBSZWNvcmRKYXIsIFJlc3VsdCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgZGF0ZWRSZWdpc3RyeSwgeWVhck1vbnRoRGF5U3BlYyB9IGZyb20gJy4uL2NvbW1vbi9jb252ZXJ0ZXJzJztcblxuaW1wb3J0IHsgY29udmVydEpzb25GaWxlU3luYyB9IGZyb20gJ0BmZ3YvdHMtanNvbi9maWxlJztcbmltcG9ydCB7IGRhdGVkUmVnaXN0cnlGcm9tSmFyUmVjb3JkcyB9IGZyb20gJy4uL2phci9qYXJDb252ZXJ0ZXJzJztcbmltcG9ydCB7IHJlZ2lzdHJ5U2NvcGVUeXBlIH0gZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvcmVnaXN0cnkvY29udmVydGVycyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlcmVkTGFuZ3VhZ2UgPSBDb252ZXJ0ZXJzLnRyYW5zZm9ybU9iamVjdDxNb2RlbC5MYW5ndWFnZVN1YnRhZ1JlZ2lzdHJ5RW50cnksIEl0ZW1zLlJlZ2lzdGVyZWRMYW5ndWFnZT4oXG4gICAge1xuICAgICAgICB0eXBlOiB7IGZyb206ICdUeXBlJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTwnbGFuZ3VhZ2UnPihbJ2xhbmd1YWdlJ10pIH0sXG4gICAgICAgIHN1YnRhZzogeyBmcm9tOiAnU3VidGFnJywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLnRhZ09yU3RhcnRPZlRhZ1JhbmdlKFRhZ0NvbnZlcnRlcnMubGFuZ3VhZ2VTdWJ0YWcpIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7IGZyb206ICdEZXNjcmlwdGlvbicsIGNvbnZlcnRlcjogQ29udmVydGVycy5zdHJpbmdBcnJheSB9LFxuICAgICAgICBhZGRlZDogeyBmcm9tOiAnQWRkZWQnLCBjb252ZXJ0ZXI6IHllYXJNb250aERheVNwZWMgfSxcbiAgICAgICAgY29tbWVudHM6IHsgZnJvbTogJ0NvbW1lbnRzJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBkZXByZWNhdGVkOiB7IGZyb206ICdEZXByZWNhdGVkJywgY29udmVydGVyOiB5ZWFyTW9udGhEYXlTcGVjLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBtYWNyb2xhbmd1YWdlOiB7IGZyb206ICdNYWNyb2xhbmd1YWdlJywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLmxhbmd1YWdlU3VidGFnLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBwcmVmZXJyZWRWYWx1ZTogeyBmcm9tOiAnUHJlZmVycmVkLVZhbHVlJywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLmxhbmd1YWdlU3VidGFnLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBzY29wZTogeyBmcm9tOiAnU2NvcGUnLCBjb252ZXJ0ZXI6IHJlZ2lzdHJ5U2NvcGVUeXBlLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBzdXBwcmVzc1NjcmlwdDogeyBmcm9tOiAnU3VwcHJlc3MtU2NyaXB0JywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLnNjcmlwdFN1YnRhZywgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgc3VidGFnUmFuZ2VFbmQ6IHsgZnJvbTogJ1N1YnRhZycsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy5lbmRPZlRhZ1JhbmdlT3JVbmRlZmluZWQoVGFnQ29udmVydGVycy5sYW5ndWFnZVN1YnRhZyksIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdsYW5ndWFnZSBzdWJ0YWcnLFxuICAgIH1cbik7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlcmVkRXh0TGFuZyA9IENvbnZlcnRlcnMudHJhbnNmb3JtT2JqZWN0PE1vZGVsLkV4dExhbmdTdWJ0YWdSZWdpc3RyeUVudHJ5LCBJdGVtcy5SZWdpc3RlcmVkRXh0TGFuZz4oXG4gICAge1xuICAgICAgICB0eXBlOiB7IGZyb206ICdUeXBlJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTwnZXh0bGFuZyc+KFsnZXh0bGFuZyddKSB9LFxuICAgICAgICBzdWJ0YWc6IHsgZnJvbTogJ1N1YnRhZycsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy5leHRsYW5nU3VidGFnIH0sXG4gICAgICAgIHByZWZlcnJlZFZhbHVlOiB7IGZyb206ICdQcmVmZXJyZWQtVmFsdWUnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMuZXh0ZW5kZWRMYW5ndWFnZVJhbmdlIH0sXG4gICAgICAgIHByZWZpeDogeyBmcm9tOiAnUHJlZml4JywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLmV4dGxhbmdQcmVmaXggfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHsgZnJvbTogJ0Rlc2NyaXB0aW9uJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5IH0sXG4gICAgICAgIGFkZGVkOiB7IGZyb206ICdBZGRlZCcsIGNvbnZlcnRlcjogeWVhck1vbnRoRGF5U3BlYyB9LFxuICAgICAgICBjb21tZW50czogeyBmcm9tOiAnQ29tbWVudHMnLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHsgZnJvbTogJ0RlcHJlY2F0ZWQnLCBjb252ZXJ0ZXI6IHllYXJNb250aERheVNwZWMsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIG1hY3JvbGFuZ3VhZ2U6IHsgZnJvbTogJ01hY3JvbGFuZ3VhZ2UnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMubGFuZ3VhZ2VTdWJ0YWcsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIHNjb3BlOiB7IGZyb206ICdTY29wZScsIGNvbnZlcnRlcjogcmVnaXN0cnlTY29wZVR5cGUsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIHN1cHByZXNzU2NyaXB0OiB7IGZyb206ICdTdXBwcmVzcy1TY3JpcHQnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMuc2NyaXB0U3VidGFnLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnZXh0bGFuZyBzdWJ0YWcnLFxuICAgIH1cbik7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlcmVkU2NyaXB0ID0gQ29udmVydGVycy50cmFuc2Zvcm1PYmplY3Q8TW9kZWwuU2NyaXB0U3VidGFnUmVnaXN0cnlFbnRyeSwgSXRlbXMuUmVnaXN0ZXJlZFNjcmlwdD4oXG4gICAge1xuICAgICAgICB0eXBlOiB7IGZyb206ICdUeXBlJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLmVudW1lcmF0ZWRWYWx1ZTwnc2NyaXB0Jz4oWydzY3JpcHQnXSkgfSxcbiAgICAgICAgc3VidGFnOiB7IGZyb206ICdTdWJ0YWcnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMudGFnT3JTdGFydE9mVGFnUmFuZ2UoVGFnQ29udmVydGVycy5zY3JpcHRTdWJ0YWcpIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7IGZyb206ICdEZXNjcmlwdGlvbicsIGNvbnZlcnRlcjogQ29udmVydGVycy5zdHJpbmdBcnJheSB9LFxuICAgICAgICBhZGRlZDogeyBmcm9tOiAnQWRkZWQnLCBjb252ZXJ0ZXI6IHllYXJNb250aERheVNwZWMgfSxcbiAgICAgICAgY29tbWVudHM6IHsgZnJvbTogJ0NvbW1lbnRzJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5LCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBkZXByZWNhdGVkOiB7IGZyb206ICdEZXByZWNhdGVkJywgY29udmVydGVyOiB5ZWFyTW9udGhEYXlTcGVjLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBwcmVmZXJyZWRWYWx1ZTogeyBmcm9tOiAnUHJlZmVycmVkLVZhbHVlJywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLnNjcmlwdFN1YnRhZywgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgc3VidGFnUmFuZ2VFbmQ6IHsgZnJvbTogJ1N1YnRhZycsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy5lbmRPZlRhZ1JhbmdlT3JVbmRlZmluZWQoVGFnQ29udmVydGVycy5zY3JpcHRTdWJ0YWcpLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnc2NyaXB0IHN1YnRhZycsXG4gICAgfVxuKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyZWRSZWdpb24gPSBDb252ZXJ0ZXJzLnRyYW5zZm9ybU9iamVjdDxNb2RlbC5SZWdpb25TdWJ0YWdSZWdpc3RyeUVudHJ5LCBJdGVtcy5SZWdpc3RlcmVkUmVnaW9uPihcbiAgICB7XG4gICAgICAgIHR5cGU6IHsgZnJvbTogJ1R5cGUnLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuZW51bWVyYXRlZFZhbHVlPCdyZWdpb24nPihbJ3JlZ2lvbiddKSB9LFxuICAgICAgICBzdWJ0YWc6IHsgZnJvbTogJ1N1YnRhZycsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy50YWdPclN0YXJ0T2ZUYWdSYW5nZShUYWdDb252ZXJ0ZXJzLnJlZ2lvblN1YnRhZykgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHsgZnJvbTogJ0Rlc2NyaXB0aW9uJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5IH0sXG4gICAgICAgIGFkZGVkOiB7IGZyb206ICdBZGRlZCcsIGNvbnZlcnRlcjogeWVhck1vbnRoRGF5U3BlYyB9LFxuICAgICAgICBjb21tZW50czogeyBmcm9tOiAnQ29tbWVudHMnLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHsgZnJvbTogJ0RlcHJlY2F0ZWQnLCBjb252ZXJ0ZXI6IHllYXJNb250aERheVNwZWMsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIHByZWZlcnJlZFZhbHVlOiB7IGZyb206ICdQcmVmZXJyZWQtVmFsdWUnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMucmVnaW9uU3VidGFnLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBzdWJ0YWdSYW5nZUVuZDogeyBmcm9tOiAnU3VidGFnJywgY29udmVydGVyOiBUYWdDb252ZXJ0ZXJzLmVuZE9mVGFnUmFuZ2VPclVuZGVmaW5lZChUYWdDb252ZXJ0ZXJzLnJlZ2lvblN1YnRhZyksIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdyZWdpb24gc3VidGFnJyxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZFZhcmlhbnQgPSBDb252ZXJ0ZXJzLnRyYW5zZm9ybU9iamVjdDxNb2RlbC5WYXJpYW50U3VidGFnUmVnaXN0cnlFbnRyeSwgSXRlbXMuUmVnaXN0ZXJlZFZhcmlhbnQ+KFxuICAgIHtcbiAgICAgICAgdHlwZTogeyBmcm9tOiAnVHlwZScsIGNvbnZlcnRlcjogQ29udmVydGVycy5lbnVtZXJhdGVkVmFsdWU8J3ZhcmlhbnQnPihbJ3ZhcmlhbnQnXSkgfSxcbiAgICAgICAgc3VidGFnOiB7IGZyb206ICdTdWJ0YWcnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMudmFyaWFudFN1YnRhZyB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogeyBmcm9tOiAnRGVzY3JpcHRpb24nLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXkgfSxcbiAgICAgICAgYWRkZWQ6IHsgZnJvbTogJ0FkZGVkJywgY29udmVydGVyOiB5ZWFyTW9udGhEYXlTcGVjIH0sXG4gICAgICAgIGNvbW1lbnRzOiB7IGZyb206ICdDb21tZW50cycsIGNvbnZlcnRlcjogQ29udmVydGVycy5zdHJpbmdBcnJheSwgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgZGVwcmVjYXRlZDogeyBmcm9tOiAnRGVwcmVjYXRlZCcsIGNvbnZlcnRlcjogeWVhck1vbnRoRGF5U3BlYywgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgcHJlZmVycmVkVmFsdWU6IHsgZnJvbTogJ1ByZWZlcnJlZC1WYWx1ZScsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy52YXJpYW50U3VidGFnLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICBwcmVmaXg6IHsgZnJvbTogJ1ByZWZpeCcsIGNvbnZlcnRlcjogQ29udmVydGVycy5hcnJheU9mKFRhZ0NvbnZlcnRlcnMuZXh0ZW5kZWRMYW5ndWFnZVJhbmdlKSwgb3B0aW9uYWw6IHRydWUgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ3ZhcmlhbnQgc3VidGFnJyxcbiAgICB9XG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJlZEdyYW5kZmF0aGVyZWRUYWcgPSBDb252ZXJ0ZXJzLnRyYW5zZm9ybU9iamVjdDxNb2RlbC5HcmFuZGZhdGhlcmVkVGFnUmVnaXN0cnlFbnRyeSwgSXRlbXMuUmVnaXN0ZXJlZEdyYW5kZmF0aGVyZWRUYWc+KFxuICAgIHtcbiAgICAgICAgdHlwZTogeyBmcm9tOiAnVHlwZScsIGNvbnZlcnRlcjogQ29udmVydGVycy5lbnVtZXJhdGVkVmFsdWU8J2dyYW5kZmF0aGVyZWQnPihbJ2dyYW5kZmF0aGVyZWQnXSkgfSxcbiAgICAgICAgdGFnOiB7IGZyb206ICdUYWcnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMuZ3JhbmRmYXRoZXJlZFRhZyB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogeyBmcm9tOiAnRGVzY3JpcHRpb24nLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXkgfSxcbiAgICAgICAgYWRkZWQ6IHsgZnJvbTogJ0FkZGVkJywgY29udmVydGVyOiB5ZWFyTW9udGhEYXlTcGVjIH0sXG4gICAgICAgIGNvbW1lbnRzOiB7IGZyb206ICdDb21tZW50cycsIGNvbnZlcnRlcjogQ29udmVydGVycy5zdHJpbmdBcnJheSwgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgZGVwcmVjYXRlZDogeyBmcm9tOiAnRGVwcmVjYXRlZCcsIGNvbnZlcnRlcjogeWVhck1vbnRoRGF5U3BlYywgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgcHJlZmVycmVkVmFsdWU6IHsgZnJvbTogJ1ByZWZlcnJlZC1WYWx1ZScsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy5leHRlbmRlZExhbmd1YWdlUmFuZ2UsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdncmFuZGZhdGhlcmVkIHRhZycsXG4gICAgfVxuKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyZWRSZWR1bmRhbnRUYWcgPSBDb252ZXJ0ZXJzLnRyYW5zZm9ybU9iamVjdDxNb2RlbC5SZWR1bmRhbnRUYWdSZWdpc3RyeUVudHJ5LCBJdGVtcy5SZWdpc3RlcmVkUmVkdW5kYW50VGFnPihcbiAgICB7XG4gICAgICAgIHR5cGU6IHsgZnJvbTogJ1R5cGUnLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuZW51bWVyYXRlZFZhbHVlPCdyZWR1bmRhbnQnPihbJ3JlZHVuZGFudCddKSB9LFxuICAgICAgICB0YWc6IHsgZnJvbTogJ1RhZycsIGNvbnZlcnRlcjogVGFnQ29udmVydGVycy5yZWR1bmRhbnRUYWcgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHsgZnJvbTogJ0Rlc2NyaXB0aW9uJywgY29udmVydGVyOiBDb252ZXJ0ZXJzLnN0cmluZ0FycmF5IH0sXG4gICAgICAgIGFkZGVkOiB7IGZyb206ICdBZGRlZCcsIGNvbnZlcnRlcjogeWVhck1vbnRoRGF5U3BlYyB9LFxuICAgICAgICBjb21tZW50czogeyBmcm9tOiAnQ29tbWVudHMnLCBjb252ZXJ0ZXI6IENvbnZlcnRlcnMuc3RyaW5nQXJyYXksIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIGRlcHJlY2F0ZWQ6IHsgZnJvbTogJ0RlcHJlY2F0ZWQnLCBjb252ZXJ0ZXI6IHllYXJNb250aERheVNwZWMsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIHByZWZlcnJlZFZhbHVlOiB7IGZyb206ICdQcmVmZXJyZWQtVmFsdWUnLCBjb252ZXJ0ZXI6IFRhZ0NvbnZlcnRlcnMuZXh0ZW5kZWRMYW5ndWFnZVJhbmdlLCBvcHRpb25hbDogdHJ1ZSB9LFxuICAgIH0sXG4gICAge1xuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAncmVkdW5kYW50IHRhZycsXG4gICAgfVxuKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyZWRJdGVtID0gQ29udmVydGVycy5kaXNjcmltaW5hdGVkT2JqZWN0PEl0ZW1zLlJlZ2lzdGVyZWRJdGVtPignVHlwZScsIHtcbiAgICBsYW5ndWFnZTogcmVnaXN0ZXJlZExhbmd1YWdlLFxuICAgIGV4dGxhbmc6IHJlZ2lzdGVyZWRFeHRMYW5nLFxuICAgIHNjcmlwdDogcmVnaXN0ZXJlZFNjcmlwdCxcbiAgICByZWdpb246IHJlZ2lzdGVyZWRSZWdpb24sXG4gICAgdmFyaWFudDogcmVnaXN0ZXJlZFZhcmlhbnQsXG4gICAgZ3JhbmRmYXRoZXJlZDogcmVnaXN0ZXJlZEdyYW5kZmF0aGVyZWRUYWcsXG4gICAgcmVkdW5kYW50OiByZWdpc3RlcmVkUmVkdW5kYW50VGFnLFxufSk7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RyeUZpbGUgPSBkYXRlZFJlZ2lzdHJ5KHJlZ2lzdGVyZWRJdGVtKTtcblxuLyoqXG4gKiBMb2FkcyBhIEpTT04tZm9ybWF0IGxhbmd1YWdlIHN1YnRhZyByZWdpc3RyeSBmaWxlLlxuICogQHBhcmFtIHBhdGggLSBUaGUgc3RyaW5nIHBhdGggZnJvbSB3aGljaCB0aGUgcmVnaXN0cnkgaXMgdG8gYmUgbG9hZGVkLlxuICogQHJldHVybnMgYFN1Y2Nlc3NgIHdpdGggdGhlIHJlc3VsdGluZyB7QGxpbmsgSWFuYS5MYW5ndWFnZVN1YnRhZ3MuTW9kZWwuUmVnaXN0cnlGaWxlIHwgcmVnaXN0cnkgZmlsZX1cbiAqIG9yIGBGYWlsdXJlYCB3aXRoIGRldGFpbHMgaWYgYW4gZXJyb3Igb2NjdXJzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkSnNvblN1YnRhZ1JlZ2lzdHJ5RmlsZVN5bmMocGF0aDogc3RyaW5nKTogUmVzdWx0PEl0ZW1zLlJlZ2lzdHJ5RmlsZT4ge1xuICAgIHJldHVybiBjb252ZXJ0SnNvbkZpbGVTeW5jKHBhdGgsIHJlZ2lzdHJ5RmlsZSk7XG59XG5cbi8qKlxuICogTG9hZHMgYSB0ZXh0IChKQVIpIGZvcm1hdCBsYW5ndWFnZSBzdWJ0YWcgcmVnaXN0cnkgZmlsZS5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHN0cmluZyBwYXRoIGZyb20gd2hpY2ggdGhlIHJlZ2lzdHJ5IGlzIHRvIGJlIGxvYWRlZC5cbiAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIHRoZSByZXN1bHRpbmcge0BsaW5rIElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLk1vZGVsLlJlZ2lzdHJ5RmlsZSB8IHJlZ2lzdHJ5IGZpbGV9XG4gKiBvciBgRmFpbHVyZWAgd2l0aCBkZXRhaWxzIGlmIGFuIGVycm9yIG9jY3Vycy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFR4dFN1YnRhZ1JlZ2lzdHJ5RmlsZVN5bmMocGF0aDogc3RyaW5nKTogUmVzdWx0PEl0ZW1zLlJlZ2lzdHJ5RmlsZT4ge1xuICAgIHJldHVybiBSZWNvcmRKYXIucmVhZFJlY29yZEphckZpbGVTeW5jKHBhdGgsIHtcbiAgICAgICAgYXJyYXlGaWVsZHM6IFsnQ29tbWVudHMnLCAnRGVzY3JpcHRpb24nLCAnUHJlZml4J10sXG4gICAgICAgIGZpeGVkQ29udGludWF0aW9uU2l6ZTogMSxcbiAgICB9KS5vblN1Y2Nlc3MoKGphcikgPT4ge1xuICAgICAgICByZXR1cm4gZGF0ZWRSZWdpc3RyeUZyb21KYXJSZWNvcmRzKHJlZ2lzdGVyZWRJdGVtKS5jb252ZXJ0KGphcik7XG4gICAgfSk7XG59XG4iXX0=
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/iana/language-subtags/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWFuYS9sYW5ndWFnZS1zdWJ0YWdzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgTW9kZWwgZnJvbSAnLi4vamFyL2xhbmd1YWdlLXN1YnRhZ3MvcmVnaXN0cnkvbW9kZWwnO1xuXG5pbXBvcnQge1xuICAgIEV4dExhbmdTdWJ0YWcsXG4gICAgRXh0ZW5kZWRMYW5ndWFnZVJhbmdlLFxuICAgIEdyYW5kZmF0aGVyZWRUYWcsXG4gICAgTGFuZ3VhZ2VTdWJ0YWcsXG4gICAgUmVkdW5kYW50VGFnLFxuICAgIFJlZ2lvblN1YnRhZyxcbiAgICBTY3JpcHRTdWJ0YWcsXG4gICAgVmFyaWFudFN1YnRhZyxcbn0gZnJvbSAnLi9jb21tb24nO1xuXG5pbXBvcnQgeyBEYXRlZFJlZ2lzdHJ5IH0gZnJvbSAnLi4vY29tbW9uL21vZGVsJztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFN1YnRhZzxUVFlQRSBleHRlbmRzIE1vZGVsLlJlZ2lzdHJ5RW50cnlUeXBlLCBUVEFHIGV4dGVuZHMgc3RyaW5nPiB7XG4gICAgcmVhZG9ubHkgdHlwZTogVFRZUEU7XG4gICAgcmVhZG9ubHkgc3VidGFnOiBUVEFHO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFN1YnRhZ1dpdGhSYW5nZTxUVFlQRSBleHRlbmRzIE1vZGVsLlJlZ2lzdHJ5RW50cnlUeXBlLCBUVEFHIGV4dGVuZHMgc3RyaW5nPlxuICAgIGV4dGVuZHMgUmVnaXN0ZXJlZFN1YnRhZzxUVFlQRSwgVFRBRz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6IFRUWVBFO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogVFRBRztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IFRUQUc7XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyZWRUYWc8VFRZUEUgZXh0ZW5kcyBNb2RlbC5SZWdpc3RyeUVudHJ5VHlwZSwgVFRBRyBleHRlbmRzIHN0cmluZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6IFRUWVBFO1xuICAgIHJlYWRvbmx5IHRhZzogVFRBRztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBSZWdpc3RlcmVkVGFnT3JTdWJ0YWc8VFRZUEUgZXh0ZW5kcyBNb2RlbC5SZWdpc3RyeUVudHJ5VHlwZSwgVFRBRyBleHRlbmRzIHN0cmluZz4gPVxuICAgIHwgUmVnaXN0ZXJlZFN1YnRhZzxUVFlQRSwgVFRBRz5cbiAgICB8IFJlZ2lzdGVyZWRTdWJ0YWdXaXRoUmFuZ2U8VFRZUEUsIFRUQUc+XG4gICAgfCBSZWdpc3RlcmVkVGFnPFRUWVBFLCBUVEFHPjtcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZExhbmd1YWdlIGV4dGVuZHMgUmVnaXN0ZXJlZFN1YnRhZ1dpdGhSYW5nZTwnbGFuZ3VhZ2UnLCBMYW5ndWFnZVN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICdsYW5ndWFnZSc7XG4gICAgcmVhZG9ubHkgc3VidGFnOiBMYW5ndWFnZVN1YnRhZztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgYWRkZWQ6IE1vZGVsLlllYXJNb250aERheVNwZWM7XG5cbiAgICByZWFkb25seSBjb21tZW50cz86IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGRlcHJlY2F0ZWQ/OiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuXG4gICAgcmVhZG9ubHkgbWFjcm9sYW5ndWFnZT86IExhbmd1YWdlU3VidGFnO1xuICAgIHJlYWRvbmx5IHByZWZlcnJlZFZhbHVlPzogTGFuZ3VhZ2VTdWJ0YWc7XG4gICAgcmVhZG9ubHkgc2NvcGU/OiBNb2RlbC5SZWdpc3RyeUVudHJ5U2NvcGU7XG4gICAgcmVhZG9ubHkgc3VwcHJlc3NTY3JpcHQ/OiBTY3JpcHRTdWJ0YWc7XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IExhbmd1YWdlU3VidGFnO1xufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlcmVkRXh0TGFuZyBleHRlbmRzIFJlZ2lzdGVyZWRTdWJ0YWc8J2V4dGxhbmcnLCBFeHRMYW5nU3VidGFnPiB7XG4gICAgcmVhZG9ubHkgdHlwZTogJ2V4dGxhbmcnO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogRXh0TGFuZ1N1YnRhZztcbiAgICByZWFkb25seSBwcmVmZXJyZWRWYWx1ZTogRXh0ZW5kZWRMYW5ndWFnZVJhbmdlO1xuICAgIHJlYWRvbmx5IHByZWZpeDogTGFuZ3VhZ2VTdWJ0YWc7XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGFkZGVkOiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuXG4gICAgcmVhZG9ubHkgY29tbWVudHM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBkZXByZWNhdGVkPzogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IG1hY3JvbGFuZ3VhZ2U/OiBMYW5ndWFnZVN1YnRhZztcbiAgICByZWFkb25seSBzY29wZT86IE1vZGVsLlJlZ2lzdHJ5RW50cnlTY29wZTtcbiAgICByZWFkb25seSBzdXBwcmVzc1NjcmlwdD86IFNjcmlwdFN1YnRhZztcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFNjcmlwdCBleHRlbmRzIFJlZ2lzdGVyZWRTdWJ0YWdXaXRoUmFuZ2U8J3NjcmlwdCcsIFNjcmlwdFN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICdzY3JpcHQnO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogU2NyaXB0U3VidGFnO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBhZGRlZDogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IGNvbW1lbnRzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZGVwcmVjYXRlZD86IE1vZGVsLlllYXJNb250aERheVNwZWM7XG4gICAgcmVhZG9ubHkgcHJlZmVycmVkVmFsdWU/OiBTY3JpcHRTdWJ0YWc7XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IFNjcmlwdFN1YnRhZztcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFJlZ2lvbiBleHRlbmRzIFJlZ2lzdGVyZWRTdWJ0YWdXaXRoUmFuZ2U8J3JlZ2lvbicsIFJlZ2lvblN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICdyZWdpb24nO1xuICAgIHJlYWRvbmx5IHN1YnRhZzogUmVnaW9uU3VidGFnO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBhZGRlZDogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IGNvbW1lbnRzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZGVwcmVjYXRlZD86IE1vZGVsLlllYXJNb250aERheVNwZWM7XG4gICAgcmVhZG9ubHkgcHJlZmVycmVkVmFsdWU/OiBSZWdpb25TdWJ0YWc7XG5cbiAgICByZWFkb25seSBzdWJ0YWdSYW5nZUVuZD86IFJlZ2lvblN1YnRhZztcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZFZhcmlhbnQgZXh0ZW5kcyBSZWdpc3RlcmVkU3VidGFnPCd2YXJpYW50JywgVmFyaWFudFN1YnRhZz4ge1xuICAgIHJlYWRvbmx5IHR5cGU6ICd2YXJpYW50JztcbiAgICByZWFkb25seSBzdWJ0YWc6IFZhcmlhbnRTdWJ0YWc7XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGFkZGVkOiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuXG4gICAgcmVhZG9ubHkgY29tbWVudHM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBkZXByZWNhdGVkPzogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcbiAgICByZWFkb25seSBwcmVmZXJyZWRWYWx1ZT86IFZhcmlhbnRTdWJ0YWc7XG4gICAgcmVhZG9ubHkgcHJlZml4PzogRXh0ZW5kZWRMYW5ndWFnZVJhbmdlW107XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyZWRHcmFuZGZhdGhlcmVkVGFnIGV4dGVuZHMgUmVnaXN0ZXJlZFRhZzwnZ3JhbmRmYXRoZXJlZCcsIEdyYW5kZmF0aGVyZWRUYWc+IHtcbiAgICByZWFkb25seSB0eXBlOiAnZ3JhbmRmYXRoZXJlZCc7XG4gICAgcmVhZG9ubHkgdGFnOiBHcmFuZGZhdGhlcmVkVGFnO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBhZGRlZDogTW9kZWwuWWVhck1vbnRoRGF5U3BlYztcblxuICAgIHJlYWRvbmx5IGNvbW1lbnRzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgZGVwcmVjYXRlZD86IE1vZGVsLlllYXJNb250aERheVNwZWM7XG4gICAgcmVhZG9ubHkgcHJlZmVycmVkVmFsdWU/OiBFeHRlbmRlZExhbmd1YWdlUmFuZ2U7XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyZWRSZWR1bmRhbnRUYWcgZXh0ZW5kcyBSZWdpc3RlcmVkVGFnPCdyZWR1bmRhbnQnLCBSZWR1bmRhbnRUYWc+IHtcbiAgICByZWFkb25seSB0eXBlOiAncmVkdW5kYW50JztcbiAgICByZWFkb25seSB0YWc6IFJlZHVuZGFudFRhZztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgYWRkZWQ6IE1vZGVsLlllYXJNb250aERheVNwZWM7XG5cbiAgICByZWFkb25seSBjb21tZW50cz86IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IGRlcHJlY2F0ZWQ/OiBNb2RlbC5ZZWFyTW9udGhEYXlTcGVjO1xuICAgIHJlYWRvbmx5IHByZWZlcnJlZFZhbHVlPzogRXh0ZW5kZWRMYW5ndWFnZVJhbmdlO1xufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgUmVnaXN0ZXJlZFN1YnRhZ0l0ZW0gPSBSZWdpc3RlcmVkTGFuZ3VhZ2UgfCBSZWdpc3RlcmVkRXh0TGFuZyB8IFJlZ2lzdGVyZWRTY3JpcHQgfCBSZWdpc3RlcmVkUmVnaW9uIHwgUmVnaXN0ZXJlZFZhcmlhbnQ7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBSZWdpc3RlcmVkVGFnSXRlbSA9IFJlZ2lzdGVyZWRHcmFuZGZhdGhlcmVkVGFnIHwgUmVnaXN0ZXJlZFJlZHVuZGFudFRhZztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFJlZ2lzdGVyZWRJdGVtID0gUmVnaXN0ZXJlZFN1YnRhZ0l0ZW0gfCBSZWdpc3RlcmVkVGFnSXRlbTtcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFJlZ2lzdHJ5RmlsZSA9IERhdGVkUmVnaXN0cnk8UmVnaXN0ZXJlZEl0ZW0+O1xuIl19
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../../src/iana/language-subtags/scope.ts"],"names":[],"mappings":"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"}