chrono-node 2.4.1 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/.idea/chrono.iml +13 -0
  2. package/.idea/compiler.xml +7 -0
  3. package/.idea/dictionaries/wanasit.xml +8 -0
  4. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  5. package/.idea/jsLibraryMappings.xml +6 -0
  6. package/.idea/jsLinters/eslint.xml +6 -0
  7. package/.idea/misc.xml +6 -0
  8. package/.idea/modules.xml +8 -0
  9. package/.idea/prettier.xml +6 -0
  10. package/.idea/vcs.xml +6 -0
  11. package/.idea/workspace.xml +327 -0
  12. package/README.md +1 -1
  13. package/benchmark/results/chrono.chart.html +111 -0
  14. package/coverage/clover.xml +4771 -0
  15. package/coverage/coverage-final.json +147 -0
  16. package/coverage/lcov-report/base.css +224 -0
  17. package/coverage/lcov-report/block-navigation.js +87 -0
  18. package/coverage/lcov-report/favicon.png +0 -0
  19. package/coverage/lcov-report/index.html +686 -0
  20. package/coverage/lcov-report/prettify.css +1 -0
  21. package/coverage/lcov-report/prettify.js +2 -0
  22. package/coverage/lcov-report/results.ts.html +701 -0
  23. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  24. package/coverage/lcov-report/sorter.js +196 -0
  25. package/coverage/lcov-report/src/calculation/index.html +131 -0
  26. package/coverage/lcov-report/src/calculation/mergingCalculation.ts.html +319 -0
  27. package/coverage/lcov-report/src/calculation/weeks.ts.html +199 -0
  28. package/coverage/lcov-report/src/calculation/yearCalculation.ts.html +194 -0
  29. package/coverage/lcov-report/src/calculation/years.ts.html +199 -0
  30. package/coverage/lcov-report/src/chrono.js.html +368 -0
  31. package/coverage/lcov-report/src/chrono.ts.html +649 -0
  32. package/coverage/lcov-report/src/common/abstractRefiners.ts.html +286 -0
  33. package/coverage/lcov-report/src/common/calculation/index.html +116 -0
  34. package/coverage/lcov-report/src/common/calculation/weekdays.ts.html +352 -0
  35. package/coverage/lcov-report/src/common/casualReferences.ts.html +499 -0
  36. package/coverage/lcov-report/src/common/index.html +131 -0
  37. package/coverage/lcov-report/src/common/parsers/AbstractParserWithWordBoundary.ts.html +214 -0
  38. package/coverage/lcov-report/src/common/parsers/AbstractTimeExpressionParser.ts.html +1384 -0
  39. package/coverage/lcov-report/src/common/parsers/ISOFormatParser.ts.html +340 -0
  40. package/coverage/lcov-report/src/common/parsers/SlashDateFormatParser.ts.html +385 -0
  41. package/coverage/lcov-report/src/common/parsers/index.html +161 -0
  42. package/coverage/lcov-report/src/common/refiners/AbstractMergeDateRangeRefiner.ts.html +268 -0
  43. package/coverage/lcov-report/src/common/refiners/AbstractMergeDateTimeRefiner.ts.html +172 -0
  44. package/coverage/lcov-report/src/common/refiners/ExtractTimezoneAbbrRefiner.ts.html +883 -0
  45. package/coverage/lcov-report/src/common/refiners/ExtractTimezoneOffsetRefiner.ts.html +226 -0
  46. package/coverage/lcov-report/src/common/refiners/ForwardDateRefiner.ts.html +334 -0
  47. package/coverage/lcov-report/src/common/refiners/MergeWeekdayComponentRefiner.ts.html +187 -0
  48. package/coverage/lcov-report/src/common/refiners/OverlapRemovalRefiner.ts.html +199 -0
  49. package/coverage/lcov-report/src/common/refiners/UnlikelyFormatFilter.ts.html +265 -0
  50. package/coverage/lcov-report/src/common/refiners/index.html +221 -0
  51. package/coverage/lcov-report/src/configurations.ts.html +154 -0
  52. package/coverage/lcov-report/src/debugging.ts.html +154 -0
  53. package/coverage/lcov-report/src/index.html +191 -0
  54. package/coverage/lcov-report/src/index.ts.html +520 -0
  55. package/coverage/lcov-report/src/locales/de/constants.ts.html +664 -0
  56. package/coverage/lcov-report/src/locales/de/index.html +131 -0
  57. package/coverage/lcov-report/src/locales/de/index.ts.html +238 -0
  58. package/coverage/lcov-report/src/locales/de/parsers/DECasualDateParser.ts.html +325 -0
  59. package/coverage/lcov-report/src/locales/de/parsers/DECasualTimeParser.ts.html +325 -0
  60. package/coverage/lcov-report/src/locales/de/parsers/DEMonthNameLittleEndianParser.ts.html +268 -0
  61. package/coverage/lcov-report/src/locales/de/parsers/DESpecificTimeExpressionParser.ts.html +535 -0
  62. package/coverage/lcov-report/src/locales/de/parsers/DETimeExpressionParser.ts.html +151 -0
  63. package/coverage/lcov-report/src/locales/de/parsers/DETimeUnitRelativeFormatParser.ts.html +211 -0
  64. package/coverage/lcov-report/src/locales/de/parsers/DEWeekdayParser.ts.html +232 -0
  65. package/coverage/lcov-report/src/locales/de/parsers/index.html +206 -0
  66. package/coverage/lcov-report/src/locales/de/refiners/DEMergeDateRangeRefiner.ts.html +130 -0
  67. package/coverage/lcov-report/src/locales/de/refiners/DEMergeDateTimeRefiner.ts.html +115 -0
  68. package/coverage/lcov-report/src/locales/de/refiners/index.html +131 -0
  69. package/coverage/lcov-report/src/locales/en/constants.ts.html +859 -0
  70. package/coverage/lcov-report/src/locales/en/index.html +131 -0
  71. package/coverage/lcov-report/src/locales/en/index.ts.html +382 -0
  72. package/coverage/lcov-report/src/locales/en/parsers/ENCasualDateParser.ts.html +244 -0
  73. package/coverage/lcov-report/src/locales/en/parsers/ENCasualTimeParser.ts.html +169 -0
  74. package/coverage/lcov-report/src/locales/en/parsers/ENCasualYearMonthDayParser.ts.html +232 -0
  75. package/coverage/lcov-report/src/locales/en/parsers/ENDeadlineFormatParser.ts.html +311 -0
  76. package/coverage/lcov-report/src/locales/en/parsers/ENISOFormatParser.ts.html +317 -0
  77. package/coverage/lcov-report/src/locales/en/parsers/ENMonthNameLittleEndianParser.ts.html +292 -0
  78. package/coverage/lcov-report/src/locales/en/parsers/ENMonthNameMiddleEndianParser.ts.html +319 -0
  79. package/coverage/lcov-report/src/locales/en/parsers/ENMonthNameParser.ts.html +271 -0
  80. package/coverage/lcov-report/src/locales/en/parsers/ENRelativeDateFormatParser.ts.html +292 -0
  81. package/coverage/lcov-report/src/locales/en/parsers/ENSlashDateFormatParser.ts.html +443 -0
  82. package/coverage/lcov-report/src/locales/en/parsers/ENSlashDateFormatStartWithYearParser.ts.html +221 -0
  83. package/coverage/lcov-report/src/locales/en/parsers/ENSlashMonthFormatParser.ts.html +163 -0
  84. package/coverage/lcov-report/src/locales/en/parsers/ENTimeExpressionParser.ts.html +250 -0
  85. package/coverage/lcov-report/src/locales/en/parsers/ENTimeUnitAgoFormatParser.ts.html +160 -0
  86. package/coverage/lcov-report/src/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.ts.html +166 -0
  87. package/coverage/lcov-report/src/locales/en/parsers/ENTimeUnitDeadlineFormatParser.ts.html +149 -0
  88. package/coverage/lcov-report/src/locales/en/parsers/ENTimeUnitLaterFormatParser.ts.html +166 -0
  89. package/coverage/lcov-report/src/locales/en/parsers/ENTimeUnitWithinFormatParser.ts.html +163 -0
  90. package/coverage/lcov-report/src/locales/en/parsers/ENWeekdayParser.ts.html +229 -0
  91. package/coverage/lcov-report/src/locales/en/parsers/index.html +311 -0
  92. package/coverage/lcov-report/src/locales/en/refiners/ENMergeDateRangeRefiner.ts.html +136 -0
  93. package/coverage/lcov-report/src/locales/en/refiners/ENMergeDateTimeRefiner.ts.html +124 -0
  94. package/coverage/lcov-report/src/locales/en/refiners/ENMergeRelativeDateRefiner.ts.html +259 -0
  95. package/coverage/lcov-report/src/locales/en/refiners/index.html +146 -0
  96. package/coverage/lcov-report/src/locales/es/constants.ts.html +340 -0
  97. package/coverage/lcov-report/src/locales/es/index.html +131 -0
  98. package/coverage/lcov-report/src/locales/es/index.ts.html +256 -0
  99. package/coverage/lcov-report/src/locales/es/parsers/ESCasualDateParser.ts.html +178 -0
  100. package/coverage/lcov-report/src/locales/es/parsers/ESCasualTimeParser.ts.html +226 -0
  101. package/coverage/lcov-report/src/locales/es/parsers/ESMonthNameLittleEndianParser.ts.html +265 -0
  102. package/coverage/lcov-report/src/locales/es/parsers/ESTimeExpressionParser.ts.html +145 -0
  103. package/coverage/lcov-report/src/locales/es/parsers/ESWeekdayParser.ts.html +235 -0
  104. package/coverage/lcov-report/src/locales/es/parsers/index.html +176 -0
  105. package/coverage/lcov-report/src/locales/es/refiners/ESMergeDateRangeRefiner.ts.html +130 -0
  106. package/coverage/lcov-report/src/locales/es/refiners/ESMergeDateTimeRefiner.ts.html +115 -0
  107. package/coverage/lcov-report/src/locales/es/refiners/index.html +131 -0
  108. package/coverage/lcov-report/src/locales/fr/constants.ts.html +637 -0
  109. package/coverage/lcov-report/src/locales/fr/index.html +131 -0
  110. package/coverage/lcov-report/src/locales/fr/index.ts.html +280 -0
  111. package/coverage/lcov-report/src/locales/fr/parsers/FRCasualDateParser.ts.html +223 -0
  112. package/coverage/lcov-report/src/locales/fr/parsers/FRCasualTimeParser.ts.html +232 -0
  113. package/coverage/lcov-report/src/locales/fr/parsers/FRMonthNameLittleEndianParser.ts.html +277 -0
  114. package/coverage/lcov-report/src/locales/fr/parsers/FRSpecificTimeExpressionParser.ts.html +484 -0
  115. package/coverage/lcov-report/src/locales/fr/parsers/FRTimeExpressionParser.ts.html +151 -0
  116. package/coverage/lcov-report/src/locales/fr/parsers/FRTimeUnitAgoFormatParser.ts.html +151 -0
  117. package/coverage/lcov-report/src/locales/fr/parsers/FRTimeUnitRelativeFormatParser.ts.html +214 -0
  118. package/coverage/lcov-report/src/locales/fr/parsers/FRTimeUnitWithinFormatParser.ts.html +130 -0
  119. package/coverage/lcov-report/src/locales/fr/parsers/FRWeekdayParser.ts.html +223 -0
  120. package/coverage/lcov-report/src/locales/fr/parsers/index.html +236 -0
  121. package/coverage/lcov-report/src/locales/fr/refiners/FRMergeDateRangeRefiner.ts.html +130 -0
  122. package/coverage/lcov-report/src/locales/fr/refiners/FRMergeDateTimeRefiner.ts.html +115 -0
  123. package/coverage/lcov-report/src/locales/fr/refiners/index.html +131 -0
  124. package/coverage/lcov-report/src/locales/ja/constants.ts.html +157 -0
  125. package/coverage/lcov-report/src/locales/ja/index.html +131 -0
  126. package/coverage/lcov-report/src/locales/ja/index.ts.html +214 -0
  127. package/coverage/lcov-report/src/locales/ja/parsers/JPCasualDateParser.ts.html +217 -0
  128. package/coverage/lcov-report/src/locales/ja/parsers/JPStandardParser.ts.html +247 -0
  129. package/coverage/lcov-report/src/locales/ja/parsers/index.html +131 -0
  130. package/coverage/lcov-report/src/locales/ja/refiners/JPMergeDateRangeRefiner.ts.html +124 -0
  131. package/coverage/lcov-report/src/locales/ja/refiners/index.html +116 -0
  132. package/coverage/lcov-report/src/locales/nl/constants.ts.html +796 -0
  133. package/coverage/lcov-report/src/locales/nl/index.html +131 -0
  134. package/coverage/lcov-report/src/locales/nl/index.ts.html +304 -0
  135. package/coverage/lcov-report/src/locales/nl/parsers/NLCasualDateParser.ts.html +181 -0
  136. package/coverage/lcov-report/src/locales/nl/parsers/NLCasualDateTimeParser.ts.html +310 -0
  137. package/coverage/lcov-report/src/locales/nl/parsers/NLCasualTimeParser.ts.html +265 -0
  138. package/coverage/lcov-report/src/locales/nl/parsers/NLCasualYearMonthDayParser.ts.html +232 -0
  139. package/coverage/lcov-report/src/locales/nl/parsers/NLMonthNameMiddleEndianParser.ts.html +349 -0
  140. package/coverage/lcov-report/src/locales/nl/parsers/NLMonthNameParser.ts.html +235 -0
  141. package/coverage/lcov-report/src/locales/nl/parsers/NLRelativeDateFormatParser.ts.html +295 -0
  142. package/coverage/lcov-report/src/locales/nl/parsers/NLSlashMonthFormatParser.ts.html +163 -0
  143. package/coverage/lcov-report/src/locales/nl/parsers/NLTimeExpressionParser.ts.html +163 -0
  144. package/coverage/lcov-report/src/locales/nl/parsers/NLTimeUnitAgoFormatParser.ts.html +163 -0
  145. package/coverage/lcov-report/src/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.ts.html +166 -0
  146. package/coverage/lcov-report/src/locales/nl/parsers/NLTimeUnitLaterFormatParser.ts.html +166 -0
  147. package/coverage/lcov-report/src/locales/nl/parsers/NLTimeUnitWithinFormatParser.ts.html +130 -0
  148. package/coverage/lcov-report/src/locales/nl/parsers/NLWeekdayParser.ts.html +223 -0
  149. package/coverage/lcov-report/src/locales/nl/parsers/index.html +311 -0
  150. package/coverage/lcov-report/src/locales/nl/refiners/NLMergeDateRangeRefiner.ts.html +136 -0
  151. package/coverage/lcov-report/src/locales/nl/refiners/NLMergeDateTimeRefiner.ts.html +124 -0
  152. package/coverage/lcov-report/src/locales/nl/refiners/index.html +131 -0
  153. package/coverage/lcov-report/src/locales/pt/constants.ts.html +343 -0
  154. package/coverage/lcov-report/src/locales/pt/index.html +131 -0
  155. package/coverage/lcov-report/src/locales/pt/index.ts.html +256 -0
  156. package/coverage/lcov-report/src/locales/pt/parsers/PTCasualDateParser.ts.html +181 -0
  157. package/coverage/lcov-report/src/locales/pt/parsers/PTCasualTimeParser.ts.html +226 -0
  158. package/coverage/lcov-report/src/locales/pt/parsers/PTMonthNameLittleEndianParser.ts.html +265 -0
  159. package/coverage/lcov-report/src/locales/pt/parsers/PTTimeExpressionParser.ts.html +145 -0
  160. package/coverage/lcov-report/src/locales/pt/parsers/PTWeekdayParser.ts.html +235 -0
  161. package/coverage/lcov-report/src/locales/pt/parsers/index.html +176 -0
  162. package/coverage/lcov-report/src/locales/pt/refiners/PTMergeDateRangeRefiner.ts.html +130 -0
  163. package/coverage/lcov-report/src/locales/pt/refiners/PTMergeDateTimeRefiner.ts.html +115 -0
  164. package/coverage/lcov-report/src/locales/pt/refiners/index.html +131 -0
  165. package/coverage/lcov-report/src/locales/ru/constants.ts.html +1111 -0
  166. package/coverage/lcov-report/src/locales/ru/index.html +131 -0
  167. package/coverage/lcov-report/src/locales/ru/index.ts.html +337 -0
  168. package/coverage/lcov-report/src/locales/ru/parsers/RUCasualDateParser.ts.html +217 -0
  169. package/coverage/lcov-report/src/locales/ru/parsers/RUCasualTimeParser.ts.html +253 -0
  170. package/coverage/lcov-report/src/locales/ru/parsers/RUMonthNameLittleEndianParser.ts.html +301 -0
  171. package/coverage/lcov-report/src/locales/ru/parsers/RUMonthNameParser.ts.html +268 -0
  172. package/coverage/lcov-report/src/locales/ru/parsers/RURelativeDateFormatParser.ts.html +310 -0
  173. package/coverage/lcov-report/src/locales/ru/parsers/RUTimeExpressionParser.ts.html +277 -0
  174. package/coverage/lcov-report/src/locales/ru/parsers/RUTimeUnitAgoFormatParser.ts.html +157 -0
  175. package/coverage/lcov-report/src/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.ts.html +187 -0
  176. package/coverage/lcov-report/src/locales/ru/parsers/RUTimeUnitWithinFormatParser.ts.html +157 -0
  177. package/coverage/lcov-report/src/locales/ru/parsers/RUWeekdayParser.ts.html +256 -0
  178. package/coverage/lcov-report/src/locales/ru/parsers/index.html +251 -0
  179. package/coverage/lcov-report/src/locales/ru/refiners/RUMergeDateRangeRefiner.ts.html +124 -0
  180. package/coverage/lcov-report/src/locales/ru/refiners/RUMergeDateTimeRefiner.ts.html +124 -0
  181. package/coverage/lcov-report/src/locales/ru/refiners/index.html +131 -0
  182. package/coverage/lcov-report/src/locales/zh/hans/constants.ts.html +241 -0
  183. package/coverage/lcov-report/src/locales/zh/hans/index.html +131 -0
  184. package/coverage/lcov-report/src/locales/zh/hans/index.ts.html +271 -0
  185. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansCasualDateParser.ts.html +469 -0
  186. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansDateParser.ts.html +310 -0
  187. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.ts.html +328 -0
  188. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.ts.html +292 -0
  189. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansTimeExpressionParser.ts.html +1357 -0
  190. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansWeekdayParser.ts.html +223 -0
  191. package/coverage/lcov-report/src/locales/zh/hans/parsers/index.html +191 -0
  192. package/coverage/lcov-report/src/locales/zh/hans/refiners/ZHHansMergeDateRangeRefiner.ts.html +106 -0
  193. package/coverage/lcov-report/src/locales/zh/hans/refiners/ZHHansMergeDateTimeRefiner.ts.html +106 -0
  194. package/coverage/lcov-report/src/locales/zh/hans/refiners/index.html +131 -0
  195. package/coverage/lcov-report/src/locales/zh/hant/constants.ts.html +244 -0
  196. package/coverage/lcov-report/src/locales/zh/hant/index.html +131 -0
  197. package/coverage/lcov-report/src/locales/zh/hant/index.ts.html +274 -0
  198. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantCasualDateParser.ts.html +469 -0
  199. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantDateParser.ts.html +289 -0
  200. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.ts.html +328 -0
  201. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.ts.html +292 -0
  202. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantTimeExpressionParser.ts.html +1357 -0
  203. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantWeekdayParser.ts.html +223 -0
  204. package/coverage/lcov-report/src/locales/zh/hant/parsers/index.html +191 -0
  205. package/coverage/lcov-report/src/locales/zh/hant/refiners/ZHHantMergeDateRangeRefiner.ts.html +106 -0
  206. package/coverage/lcov-report/src/locales/zh/hant/refiners/ZHHantMergeDateTimeRefiner.ts.html +106 -0
  207. package/coverage/lcov-report/src/locales/zh/hant/refiners/index.html +131 -0
  208. package/coverage/lcov-report/src/locales/zh/index.html +116 -0
  209. package/coverage/lcov-report/src/locales/zh/index.ts.html +91 -0
  210. package/coverage/lcov-report/src/options.js.html +1085 -0
  211. package/coverage/lcov-report/src/parsers/de/DECasualDateParser.js.html +368 -0
  212. package/coverage/lcov-report/src/parsers/de/DEDeadlineFormatParser.js.html +374 -0
  213. package/coverage/lcov-report/src/parsers/de/DEMonthNameLittleEndianParser.js.html +347 -0
  214. package/coverage/lcov-report/src/parsers/de/DEMonthNameParser.js.html +329 -0
  215. package/coverage/lcov-report/src/parsers/de/DESlashDateFormatParser.js.html +398 -0
  216. package/coverage/lcov-report/src/parsers/de/DETimeAgoFormatParser.js.html +401 -0
  217. package/coverage/lcov-report/src/parsers/de/DETimeExpressionParser.js.html +836 -0
  218. package/coverage/lcov-report/src/parsers/de/DEWeekdayParser.js.html +338 -0
  219. package/coverage/lcov-report/src/parsers/de/index.html +216 -0
  220. package/coverage/lcov-report/src/parsers/en/ENCasualDateParser.js.html +275 -0
  221. package/coverage/lcov-report/src/parsers/en/ENCasualTimeParser.js.html +242 -0
  222. package/coverage/lcov-report/src/parsers/en/ENDeadlineFormatParser.js.html +359 -0
  223. package/coverage/lcov-report/src/parsers/en/ENISOFormatParser.js.html +389 -0
  224. package/coverage/lcov-report/src/parsers/en/ENMonthNameLittleEndianParser.js.html +416 -0
  225. package/coverage/lcov-report/src/parsers/en/ENMonthNameMiddleEndianParser.js.html +437 -0
  226. package/coverage/lcov-report/src/parsers/en/ENMonthNameParser.js.html +320 -0
  227. package/coverage/lcov-report/src/parsers/en/ENRelativeDateFormatParser.js.html +518 -0
  228. package/coverage/lcov-report/src/parsers/en/ENSlashDateFormatParser.js.html +479 -0
  229. package/coverage/lcov-report/src/parsers/en/ENSlashDateFormatStartWithYearParser.js.html +245 -0
  230. package/coverage/lcov-report/src/parsers/en/ENSlashMonthFormatParser.js.html +221 -0
  231. package/coverage/lcov-report/src/parsers/en/ENTimeAgoFormatParser.js.html +287 -0
  232. package/coverage/lcov-report/src/parsers/en/ENTimeExpressionParser.js.html +869 -0
  233. package/coverage/lcov-report/src/parsers/en/ENTimeLaterFormatParser.js.html +305 -0
  234. package/coverage/lcov-report/src/parsers/en/ENWeekdayParser.js.html +356 -0
  235. package/coverage/lcov-report/src/parsers/en/index.html +321 -0
  236. package/coverage/lcov-report/src/parsers/es/ESCasualDateParser.js.html +452 -0
  237. package/coverage/lcov-report/src/parsers/es/ESDeadlineFormatParser.js.html +260 -0
  238. package/coverage/lcov-report/src/parsers/es/ESMonthNameLittleEndianParser.js.html +338 -0
  239. package/coverage/lcov-report/src/parsers/es/ESSlashDateFormatParser.js.html +419 -0
  240. package/coverage/lcov-report/src/parsers/es/ESTimeAgoFormatParser.js.html +341 -0
  241. package/coverage/lcov-report/src/parsers/es/ESTimeExpressionParser.js.html +782 -0
  242. package/coverage/lcov-report/src/parsers/es/ESWeekdayParser.js.html +260 -0
  243. package/coverage/lcov-report/src/parsers/es/index.html +201 -0
  244. package/coverage/lcov-report/src/parsers/fr/FRCasualDateParser.js.html +311 -0
  245. package/coverage/lcov-report/src/parsers/fr/FRDeadlineFormatParser.js.html +359 -0
  246. package/coverage/lcov-report/src/parsers/fr/FRMonthNameLittleEndianParser.js.html +338 -0
  247. package/coverage/lcov-report/src/parsers/fr/FRRelativeDateFormatParser.js.html +545 -0
  248. package/coverage/lcov-report/src/parsers/fr/FRSlashDateFormatParser.js.html +437 -0
  249. package/coverage/lcov-report/src/parsers/fr/FRTimeAgoFormatParser.js.html +341 -0
  250. package/coverage/lcov-report/src/parsers/fr/FRTimeExpressionParser.js.html +803 -0
  251. package/coverage/lcov-report/src/parsers/fr/FRWeekdayParser.js.html +257 -0
  252. package/coverage/lcov-report/src/parsers/fr/index.html +216 -0
  253. package/coverage/lcov-report/src/parsers/index.html +111 -0
  254. package/coverage/lcov-report/src/parsers/ja/JPCasualDateParser.js.html +245 -0
  255. package/coverage/lcov-report/src/parsers/ja/JPStandardParser.js.html +293 -0
  256. package/coverage/lcov-report/src/parsers/ja/index.html +126 -0
  257. package/coverage/lcov-report/src/parsers/nl/NLCasualDateParser.js.html +395 -0
  258. package/coverage/lcov-report/src/parsers/nl/NLCasualTimeParser.js.html +278 -0
  259. package/coverage/lcov-report/src/parsers/nl/NLMonthNameLittleEndianParser.js.html +383 -0
  260. package/coverage/lcov-report/src/parsers/nl/NLMonthNameParser.js.html +320 -0
  261. package/coverage/lcov-report/src/parsers/nl/NLSlashDateFormatParser.js.html +389 -0
  262. package/coverage/lcov-report/src/parsers/nl/NLTimeExpressionParser.js.html +836 -0
  263. package/coverage/lcov-report/src/parsers/nl/NLWeekdayParser.js.html +377 -0
  264. package/coverage/lcov-report/src/parsers/nl/index.html +201 -0
  265. package/coverage/lcov-report/src/parsers/parser.js.html +500 -0
  266. package/coverage/lcov-report/src/parsers/pt/PTCasualDateParser.js.html +449 -0
  267. package/coverage/lcov-report/src/parsers/pt/PTDeadlineFormatParser.js.html +263 -0
  268. package/coverage/lcov-report/src/parsers/pt/PTMonthNameLittleEndianParser.js.html +338 -0
  269. package/coverage/lcov-report/src/parsers/pt/PTSlashDateFormatParser.js.html +419 -0
  270. package/coverage/lcov-report/src/parsers/pt/PTTimeAgoFormatParser.js.html +341 -0
  271. package/coverage/lcov-report/src/parsers/pt/PTTimeExpressionParser.js.html +782 -0
  272. package/coverage/lcov-report/src/parsers/pt/PTWeekdayParser.js.html +260 -0
  273. package/coverage/lcov-report/src/parsers/pt/index.html +201 -0
  274. package/coverage/lcov-report/src/parsers/zh-Hant/ZHHantCasualDateParser.js.html +494 -0
  275. package/coverage/lcov-report/src/parsers/zh-Hant/ZHHantDateParser.js.html +281 -0
  276. package/coverage/lcov-report/src/parsers/zh-Hant/ZHHantDeadlineFormatParser.js.html +353 -0
  277. package/coverage/lcov-report/src/parsers/zh-Hant/ZHHantTimeExpressionParser.js.html +1346 -0
  278. package/coverage/lcov-report/src/parsers/zh-Hant/ZHHantWeekdayParser.js.html +239 -0
  279. package/coverage/lcov-report/src/parsers/zh-Hant/index.html +171 -0
  280. package/coverage/lcov-report/src/refiners/ExtractTimezoneAbbrRefiner.js.html +245 -0
  281. package/coverage/lcov-report/src/refiners/ExtractTimezoneOffsetRefiner.js.html +218 -0
  282. package/coverage/lcov-report/src/refiners/ForwardDateRefiner.js.html +239 -0
  283. package/coverage/lcov-report/src/refiners/OverlapRemovalRefiner.js.html +200 -0
  284. package/coverage/lcov-report/src/refiners/UnlikelyFormatFilter.js.html +131 -0
  285. package/coverage/lcov-report/src/refiners/de/DEMergeDateRangeRefiner.js.html +116 -0
  286. package/coverage/lcov-report/src/refiners/de/DEMergeDateTimeRefiner.js.html +377 -0
  287. package/coverage/lcov-report/src/refiners/de/index.html +126 -0
  288. package/coverage/lcov-report/src/refiners/en/ENMergeDateRangeRefiner.js.html +416 -0
  289. package/coverage/lcov-report/src/refiners/en/ENMergeDateTimeRefiner.js.html +533 -0
  290. package/coverage/lcov-report/src/refiners/en/ENPrioritizeSpecificDateRefiner.js.html +422 -0
  291. package/coverage/lcov-report/src/refiners/en/index.html +141 -0
  292. package/coverage/lcov-report/src/refiners/fr/FRMergeDateRangeRefiner.js.html +374 -0
  293. package/coverage/lcov-report/src/refiners/fr/FRMergeDateTimeRefiner.js.html +395 -0
  294. package/coverage/lcov-report/src/refiners/fr/index.html +126 -0
  295. package/coverage/lcov-report/src/refiners/index.html +186 -0
  296. package/coverage/lcov-report/src/refiners/ja/JPMergeDateRangeRefiner.js.html +113 -0
  297. package/coverage/lcov-report/src/refiners/ja/index.html +111 -0
  298. package/coverage/lcov-report/src/refiners/nl/NLMergeDateRangeRefiner.js.html +116 -0
  299. package/coverage/lcov-report/src/refiners/nl/NLMergeDateTimeRefiner.js.html +362 -0
  300. package/coverage/lcov-report/src/refiners/nl/index.html +126 -0
  301. package/coverage/lcov-report/src/refiners/refiner.js.html +239 -0
  302. package/coverage/lcov-report/src/result.js.html +545 -0
  303. package/coverage/lcov-report/src/results.ts.html +916 -0
  304. package/coverage/lcov-report/src/timezone.ts.html +700 -0
  305. package/coverage/lcov-report/src/utils/DE.js.html +308 -0
  306. package/coverage/lcov-report/src/utils/EN.js.html +596 -0
  307. package/coverage/lcov-report/src/utils/ES.js.html +254 -0
  308. package/coverage/lcov-report/src/utils/FR.js.html +302 -0
  309. package/coverage/lcov-report/src/utils/JP.js.html +215 -0
  310. package/coverage/lcov-report/src/utils/NL.js.html +620 -0
  311. package/coverage/lcov-report/src/utils/PT.js.html +263 -0
  312. package/coverage/lcov-report/src/utils/ParserWithWordEndingDetection.ts.html +176 -0
  313. package/coverage/lcov-report/src/utils/ZH-Hant.js.html +236 -0
  314. package/coverage/lcov-report/src/utils/dayjs.ts.html +223 -0
  315. package/coverage/lcov-report/src/utils/index.html +146 -0
  316. package/coverage/lcov-report/src/utils/pattern.ts.html +175 -0
  317. package/coverage/lcov-report/src/utils/timeunits.ts.html +199 -0
  318. package/coverage/lcov-report/test/index.html +116 -0
  319. package/coverage/lcov-report/test/test_util.js.html +299 -0
  320. package/coverage/lcov-report/test/test_util.ts.html +490 -0
  321. package/coverage/lcov.info +8049 -0
  322. package/dist/common/casualReferences.d.ts +1 -0
  323. package/dist/common/casualReferences.js +23 -2
  324. package/dist/common/casualReferences.js.map +1 -1
  325. package/dist/common/parsers/SlashDateFormatParser.js +5 -3
  326. package/dist/common/parsers/SlashDateFormatParser.js.map +1 -1
  327. package/dist/common/refiners/AbstractMergeDateTimeRefiner.d.ts +1 -1
  328. package/dist/common/refiners/AbstractMergeDateTimeRefiner.js +2 -2
  329. package/dist/common/refiners/AbstractMergeDateTimeRefiner.js.map +1 -1
  330. package/dist/common/refiners/ForwardDateRefiner.js +12 -0
  331. package/dist/common/refiners/ForwardDateRefiner.js.map +1 -1
  332. package/dist/index.d.ts +2 -1
  333. package/dist/index.js +3 -1
  334. package/dist/index.js.map +1 -1
  335. package/dist/locales/en/constants.js +6 -0
  336. package/dist/locales/en/constants.js.map +1 -1
  337. package/dist/locales/en/parsers/ENCasualTimeParser.js +27 -26
  338. package/dist/locales/en/parsers/ENCasualTimeParser.js.map +1 -1
  339. package/dist/locales/es/constants.d.ts +8 -0
  340. package/dist/locales/es/constants.js +84 -0
  341. package/dist/locales/es/constants.js.map +1 -0
  342. package/dist/locales/es/index.d.ts +8 -0
  343. package/dist/locales/es/index.js +46 -0
  344. package/dist/locales/es/index.js.map +1 -0
  345. package/dist/locales/es/parsers/ESCasualDateParser.d.ts +7 -0
  346. package/dist/locales/es/parsers/ESCasualDateParser.js +45 -0
  347. package/dist/locales/es/parsers/ESCasualDateParser.js.map +1 -0
  348. package/dist/locales/es/parsers/ESCasualTimeParser.d.ts +6 -0
  349. package/dist/locales/es/parsers/ESCasualTimeParser.js +46 -0
  350. package/dist/locales/es/parsers/ESCasualTimeParser.js.map +1 -0
  351. package/dist/locales/es/parsers/ESMonthNameLittleEndianParser.d.ts +7 -0
  352. package/dist/locales/es/parsers/ESMonthNameLittleEndianParser.js +49 -0
  353. package/dist/locales/es/parsers/ESMonthNameLittleEndianParser.js.map +1 -0
  354. package/dist/locales/es/parsers/ESTimeExpressionParser.d.ts +5 -0
  355. package/dist/locales/es/parsers/ESTimeExpressionParser.js +13 -0
  356. package/dist/locales/es/parsers/ESTimeExpressionParser.js.map +1 -0
  357. package/dist/locales/es/parsers/ESWeekdayParser.d.ts +7 -0
  358. package/dist/locales/es/parsers/ESWeekdayParser.js +44 -0
  359. package/dist/locales/es/parsers/ESWeekdayParser.js.map +1 -0
  360. package/dist/locales/es/refiners/ESMergeDateRangeRefiner.d.ts +4 -0
  361. package/dist/locales/es/refiners/ESMergeDateRangeRefiner.js +13 -0
  362. package/dist/locales/es/refiners/ESMergeDateRangeRefiner.js.map +1 -0
  363. package/dist/locales/es/refiners/ESMergeDateTimeRefiner.d.ts +4 -0
  364. package/dist/locales/es/refiners/ESMergeDateTimeRefiner.js +13 -0
  365. package/dist/locales/es/refiners/ESMergeDateTimeRefiner.js.map +1 -0
  366. package/dist/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js +1 -1
  367. package/dist/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js.map +1 -1
  368. package/dist/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js +26 -26
  369. package/dist/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js.map +1 -1
  370. package/dist/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js +26 -26
  371. package/dist/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js.map +1 -1
  372. package/dist/utils/dayjs.d.ts +2 -0
  373. package/dist/utils/dayjs.js +13 -1
  374. package/dist/utils/dayjs.js.map +1 -1
  375. package/docs/assets/css/main.css +2660 -0
  376. package/docs/assets/images/icons.png +0 -0
  377. package/docs/assets/images/icons@2x.png +0 -0
  378. package/docs/assets/images/widgets.png +0 -0
  379. package/docs/assets/images/widgets@2x.png +0 -0
  380. package/docs/assets/js/main.js +248 -0
  381. package/docs/assets/js/search.js +1 -0
  382. package/docs/classes/chrono.html +377 -0
  383. package/docs/enums/meridiem.html +191 -0
  384. package/docs/index.html +329 -0
  385. package/docs/interfaces/parsedcomponents.html +270 -0
  386. package/docs/interfaces/parsedresult.html +283 -0
  387. package/docs/interfaces/parser.html +240 -0
  388. package/docs/interfaces/parsingoption.html +218 -0
  389. package/docs/interfaces/refiner.html +218 -0
  390. package/docs/modules/de.html +298 -0
  391. package/docs/modules/en.html +361 -0
  392. package/docs/modules/fr.html +248 -0
  393. package/docs/modules/ja.html +248 -0
  394. package/docs/modules/nl.html +275 -0
  395. package/docs/modules/pt.html +248 -0
  396. package/package.json +1 -1
  397. package/src/common/casualReferences.ts +31 -2
  398. package/src/common/parsers/SlashDateFormatParser.ts +7 -6
  399. package/src/common/refiners/AbstractMergeDateTimeRefiner.ts +1 -1
  400. package/src/common/refiners/ForwardDateRefiner.ts +13 -0
  401. package/src/index.ts +2 -1
  402. package/src/locales/en/constants.ts +6 -0
  403. package/src/locales/en/parsers/ENCasualTimeParser.ts +9 -31
  404. package/src/locales/es/constants.ts +85 -0
  405. package/src/locales/es/index.ts +57 -0
  406. package/src/locales/es/parsers/ESCasualDateParser.ts +31 -0
  407. package/src/locales/es/parsers/ESCasualTimeParser.ts +47 -0
  408. package/src/locales/es/parsers/ESMonthNameLittleEndianParser.ts +60 -0
  409. package/src/locales/es/parsers/ESTimeExpressionParser.ts +20 -0
  410. package/src/locales/es/parsers/ESWeekdayParser.ts +50 -0
  411. package/src/locales/es/refiners/ESMergeDateRangeRefiner.ts +15 -0
  412. package/src/locales/es/refiners/ESMergeDateTimeRefiner.ts +10 -0
  413. package/src/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.ts +1 -1
  414. package/src/locales/ru/refiners/RUMergeDateTimeRefiner.ts +1 -1
  415. package/src/locales/zh/hans/parsers/ZHHansTimeExpressionParser.ts +26 -26
  416. package/src/locales/zh/hant/parsers/ZHHantTimeExpressionParser.ts +26 -26
  417. package/src/utils/dayjs.ts +12 -0
  418. package/test/en/en_casual.test.ts +34 -4
  419. package/test/en/en_slash.test.ts +12 -11
  420. package/test/en/en_time_exp.test.ts +53 -0
  421. package/test/en/en_time_units_ago.test.ts +17 -0
  422. package/test/en/en_time_units_later.test.ts +30 -0
  423. package/test/en/negative_cases.test.ts +11 -0
  424. package/test/es/es_casual.test.ts +175 -0
  425. package/test/es/es_month_name_little_endian.test.ts +217 -0
  426. package/test/es/es_slash.test.ts +26 -0
  427. package/test/es/es_time_exp.test.ts +175 -0
  428. package/test/ru/ru_time_units_casual_relative.test.ts +12 -0
  429. package/test/zh/zh_hans_time_exp.test.ts +15 -0
  430. package/test/zh/zh_hant_time_exp.test.ts +14 -0
@@ -0,0 +1,1111 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/locales/ru/constants.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/locales/ru</a> constants.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">91.22% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>52/57</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">75% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>9/12</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>5/5</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">91.22% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>52/57</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-yes">80x</span>
410
+ <span class="cline-any cline-yes">80x</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-yes">80x</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-yes">80x</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-yes">80x</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-neutral">&nbsp;</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-yes">80x</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-neutral">&nbsp;</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
498
+ <span class="cline-any cline-neutral">&nbsp;</span>
499
+ <span class="cline-any cline-neutral">&nbsp;</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-neutral">&nbsp;</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-yes">80x</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
533
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-neutral">&nbsp;</span>
535
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-neutral">&nbsp;</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-neutral">&nbsp;</span>
542
+ <span class="cline-any cline-neutral">&nbsp;</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-yes">80x</span>
547
+ <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
552
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-neutral">&nbsp;</span>
554
+ <span class="cline-any cline-neutral">&nbsp;</span>
555
+ <span class="cline-any cline-neutral">&nbsp;</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
+ <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
574
+ <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-neutral">&nbsp;</span>
576
+ <span class="cline-any cline-neutral">&nbsp;</span>
577
+ <span class="cline-any cline-neutral">&nbsp;</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-neutral">&nbsp;</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-neutral">&nbsp;</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-neutral">&nbsp;</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-neutral">&nbsp;</span>
595
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-yes">80x</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-neutral">&nbsp;</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-neutral">&nbsp;</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
627
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-neutral">&nbsp;</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-neutral">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-neutral">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-yes">80x</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-yes">80x</span>
674
+ <span class="cline-any cline-yes">33x</span>
675
+ <span class="cline-any cline-yes">33x</span>
676
+ <span class="cline-any cline-yes">3x</span>
677
+ <span class="cline-any cline-neutral">&nbsp;</span>
678
+ <span class="cline-any cline-yes">30x</span>
679
+ <span class="cline-any cline-no">&nbsp;</span>
680
+ <span class="cline-any cline-yes">30x</span>
681
+ <span class="cline-any cline-yes">2x</span>
682
+ <span class="cline-any cline-yes">28x</span>
683
+ <span class="cline-any cline-yes">1x</span>
684
+ <span class="cline-any cline-yes">27x</span>
685
+ <span class="cline-any cline-yes">6x</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-yes">21x</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-neutral">&nbsp;</span>
691
+ <span class="cline-any cline-neutral">&nbsp;</span>
692
+ <span class="cline-any cline-yes">80x</span>
693
+ <span class="cline-any cline-yes">80x</span>
694
+ <span class="cline-any cline-yes">29x</span>
695
+ <span class="cline-any cline-yes">29x</span>
696
+ <span class="cline-any cline-yes">3x</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-yes">26x</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-yes">80x</span>
704
+ <span class="cline-any cline-yes">80x</span>
705
+ <span class="cline-any cline-yes">80x</span>
706
+ <span class="cline-any cline-yes">31x</span>
707
+ <span class="cline-any cline-yes">2x</span>
708
+ <span class="cline-any cline-neutral">&nbsp;</span>
709
+ <span class="cline-any cline-neutral">&nbsp;</span>
710
+ <span class="cline-any cline-yes">31x</span>
711
+ <span class="cline-any cline-neutral">&nbsp;</span>
712
+ <span class="cline-any cline-no">&nbsp;</span>
713
+ <span class="cline-any cline-no">&nbsp;</span>
714
+ <span class="cline-any cline-neutral">&nbsp;</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-yes">31x</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</span>
718
+ <span class="cline-any cline-no">&nbsp;</span>
719
+ <span class="cline-any cline-no">&nbsp;</span>
720
+ <span class="cline-any cline-neutral">&nbsp;</span>
721
+ <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-yes">31x</span>
723
+ <span class="cline-any cline-yes">31x</span>
724
+ <span class="cline-any cline-neutral">&nbsp;</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-yes">80x</span>
729
+ <span class="cline-any cline-yes">80x</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-yes">80x</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-yes">80x</span>
734
+ <span class="cline-any cline-yes">28x</span>
735
+ <span class="cline-any cline-yes">28x</span>
736
+ <span class="cline-any cline-yes">28x</span>
737
+ <span class="cline-any cline-yes">28x</span>
738
+ <span class="cline-any cline-yes">33x</span>
739
+ <span class="cline-any cline-yes">33x</span>
740
+ <span class="cline-any cline-yes">33x</span>
741
+ <span class="cline-any cline-neutral">&nbsp;</span>
742
+ <span class="cline-any cline-yes">28x</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-yes">33x</span>
747
+ <span class="cline-any cline-yes">33x</span>
748
+ <span class="cline-any cline-yes">33x</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { OpUnitType, QUnitType } from "dayjs";
751
+ import { matchAnyPattern, repeatedTimeunitPattern } from "../../utils/pattern";
752
+ import { findMostLikelyADYear } from "../../calculation/years";
753
+ import { TimeUnits } from "../../utils/timeunits";
754
+ &nbsp;
755
+ export const REGEX_PARTS = {
756
+ leftBoundary: "([^\\p{L}\\p{N}_]|^)",
757
+ rightBoundary: "(?=[^\\p{L}\\p{N}_]|$)",
758
+ flags: "iu",
759
+ };
760
+ &nbsp;
761
+ export const WEEKDAY_DICTIONARY: { [word: string]: number } = {
762
+ воскресенье: 0,
763
+ воскресенья: 0,
764
+ вск: 0,
765
+ "вск.": 0,
766
+ понедельник: 1,
767
+ понедельника: 1,
768
+ пн: 1,
769
+ "пн.": 1,
770
+ вторник: 2,
771
+ вторника: 2,
772
+ вт: 2,
773
+ "вт.": 2,
774
+ среда: 3,
775
+ среды: 3,
776
+ среду: 3,
777
+ ср: 3,
778
+ "ср.": 3,
779
+ четверг: 4,
780
+ четверга: 4,
781
+ чт: 4,
782
+ "чт.": 4,
783
+ пятница: 5,
784
+ пятницу: 5,
785
+ пятницы: 5,
786
+ пт: 5,
787
+ "пт.": 5,
788
+ суббота: 6,
789
+ субботу: 6,
790
+ субботы: 6,
791
+ сб: 6,
792
+ "сб.": 6,
793
+ };
794
+ &nbsp;
795
+ export const FULL_MONTH_NAME_DICTIONARY: { [word: string]: number } = {
796
+ январь: 1,
797
+ января: 1,
798
+ январе: 1,
799
+ февраль: 2,
800
+ февраля: 2,
801
+ феврале: 2,
802
+ март: 3,
803
+ марта: 3,
804
+ марте: 3,
805
+ апрель: 4,
806
+ апреля: 4,
807
+ апреле: 4,
808
+ май: 5,
809
+ мая: 5,
810
+ мае: 5,
811
+ июнь: 6,
812
+ июня: 6,
813
+ июне: 6,
814
+ июль: 7,
815
+ июля: 7,
816
+ июле: 7,
817
+ август: 8,
818
+ августа: 8,
819
+ августе: 8,
820
+ сентябрь: 9,
821
+ сентября: 9,
822
+ сентябре: 9,
823
+ октябрь: 10,
824
+ октября: 10,
825
+ октябре: 10,
826
+ ноябрь: 11,
827
+ ноября: 11,
828
+ ноябре: 11,
829
+ декабрь: 12,
830
+ декабря: 12,
831
+ декабре: 12,
832
+ };
833
+ &nbsp;
834
+ export const MONTH_DICTIONARY: { [word: string]: number } = {
835
+ ...FULL_MONTH_NAME_DICTIONARY,
836
+ янв: 1,
837
+ "янв.": 1,
838
+ фев: 2,
839
+ "фев.": 2,
840
+ мар: 3,
841
+ "мар.": 3,
842
+ апр: 4,
843
+ "апр.": 4,
844
+ авг: 8,
845
+ "авг.": 8,
846
+ сен: 9,
847
+ "сен.": 9,
848
+ окт: 10,
849
+ "окт.": 10,
850
+ ноя: 11,
851
+ "ноя.": 11,
852
+ дек: 12,
853
+ "дек.": 12,
854
+ };
855
+ &nbsp;
856
+ export const INTEGER_WORD_DICTIONARY: { [word: string]: number } = {
857
+ один: 1,
858
+ одна: 1,
859
+ одной: 1,
860
+ одну: 1,
861
+ две: 2,
862
+ два: 2,
863
+ двух: 2,
864
+ три: 3,
865
+ трех: 3,
866
+ трёх: 3,
867
+ четыре: 4,
868
+ четырех: 4,
869
+ четырёх: 4,
870
+ пять: 5,
871
+ пяти: 5,
872
+ шесть: 6,
873
+ шести: 6,
874
+ семь: 7,
875
+ семи: 7,
876
+ восемь: 8,
877
+ восьми: 8,
878
+ девять: 9,
879
+ девяти: 9,
880
+ десять: 10,
881
+ десяти: 10,
882
+ одиннадцать: 11,
883
+ одиннадцати: 11,
884
+ двенадцать: 12,
885
+ двенадцати: 12,
886
+ };
887
+ &nbsp;
888
+ export const ORDINAL_WORD_DICTIONARY: { [word: string]: number } = {
889
+ первое: 1,
890
+ первого: 1,
891
+ второе: 2,
892
+ второго: 2,
893
+ третье: 3,
894
+ третьего: 3,
895
+ четвертое: 4,
896
+ четвертого: 4,
897
+ пятое: 5,
898
+ пятого: 5,
899
+ шестое: 6,
900
+ шестого: 6,
901
+ седьмое: 7,
902
+ седьмого: 7,
903
+ восьмое: 8,
904
+ восьмого: 8,
905
+ девятое: 9,
906
+ девятого: 9,
907
+ десятое: 10,
908
+ десятого: 10,
909
+ одиннадцатое: 11,
910
+ одиннадцатого: 11,
911
+ двенадцатое: 12,
912
+ двенадцатого: 12,
913
+ тринадцатое: 13,
914
+ тринадцатого: 13,
915
+ четырнадцатое: 14,
916
+ четырнадцатого: 14,
917
+ пятнадцатое: 15,
918
+ пятнадцатого: 15,
919
+ шестнадцатое: 16,
920
+ шестнадцатого: 16,
921
+ семнадцатое: 17,
922
+ семнадцатого: 17,
923
+ восемнадцатое: 18,
924
+ восемнадцатого: 18,
925
+ девятнадцатое: 19,
926
+ девятнадцатого: 19,
927
+ двадцатое: 20,
928
+ двадцатого: 20,
929
+ "двадцать первое": 21,
930
+ "двадцать первого": 21,
931
+ "двадцать второе": 22,
932
+ "двадцать второго": 22,
933
+ "двадцать третье": 23,
934
+ "двадцать третьего": 23,
935
+ "двадцать четвертое": 24,
936
+ "двадцать четвертого": 24,
937
+ "двадцать пятое": 25,
938
+ "двадцать пятого": 25,
939
+ "двадцать шестое": 26,
940
+ "двадцать шестого": 26,
941
+ "двадцать седьмое": 27,
942
+ "двадцать седьмого": 27,
943
+ "двадцать восьмое": 28,
944
+ "двадцать восьмого": 28,
945
+ "двадцать девятое": 29,
946
+ "двадцать девятого": 29,
947
+ "тридцатое": 30,
948
+ "тридцатого": 30,
949
+ "тридцать первое": 31,
950
+ "тридцать первого": 31,
951
+ };
952
+ &nbsp;
953
+ export const TIME_UNIT_DICTIONARY: { [word: string]: OpUnitType | QUnitType } = {
954
+ сек: "second",
955
+ секунда: "second",
956
+ секунд: "second",
957
+ секунды: "second",
958
+ секунду: "second",
959
+ секундочка: "second",
960
+ секундочки: "second",
961
+ секундочек: "second",
962
+ секундочку: "second",
963
+ мин: "minute",
964
+ минута: "minute",
965
+ минут: "minute",
966
+ минуты: "minute",
967
+ минуту: "minute",
968
+ минуток: "minute",
969
+ минутки: "minute",
970
+ минутку: "minute",
971
+ час: "hour",
972
+ часов: "hour",
973
+ часа: "hour",
974
+ часу: "hour",
975
+ часиков: "hour",
976
+ часика: "hour",
977
+ часике: "hour",
978
+ часик: "hour",
979
+ день: "d",
980
+ дня: "d",
981
+ дней: "d",
982
+ суток: "d",
983
+ сутки: "d",
984
+ неделя: "week",
985
+ неделе: "week",
986
+ недели: "week",
987
+ неделю: "week",
988
+ недель: "week",
989
+ недельке: "week",
990
+ недельки: "week",
991
+ неделек: "week",
992
+ месяц: "month",
993
+ месяце: "month",
994
+ месяцев: "month",
995
+ месяца: "month",
996
+ квартал: "quarter",
997
+ квартале: "quarter",
998
+ кварталов: "quarter",
999
+ год: "year",
1000
+ года: "year",
1001
+ году: "year",
1002
+ годов: "year",
1003
+ лет: "year",
1004
+ годик: "year",
1005
+ годика: "year",
1006
+ годиков: "year",
1007
+ };
1008
+ &nbsp;
1009
+ //-----------------------------
1010
+ &nbsp;
1011
+ export const NUMBER_PATTERN = `(?:${matchAnyPattern(
1012
+ INTEGER_WORD_DICTIONARY
1013
+ )}|[0-9]+|[0-9]+\\.[0-9]+|пол|несколько|пар(?:ы|у)|\\s{0,3})`;
1014
+ &nbsp;
1015
+ export function parseNumberPattern(match: string): number {
1016
+ const num = match.toLowerCase();
1017
+ if (INTEGER_WORD_DICTIONARY[num] !== undefined) {
1018
+ return INTEGER_WORD_DICTIONARY[num];
1019
+ }
1020
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (num.match(/несколько/)) {
1021
+ <span class="cstat-no" title="statement not covered" > return 3;</span>
1022
+ } else if (num.match(/пол/)) {
1023
+ return 0.5;
1024
+ } else if (num.match(/пар/)) {
1025
+ return 2;
1026
+ } else if (num === "") {
1027
+ return 1;
1028
+ }
1029
+ return parseFloat(num);
1030
+ }
1031
+ &nbsp;
1032
+ //-----------------------------
1033
+ &nbsp;
1034
+ export const ORDINAL_NUMBER_PATTERN = `(?:${matchAnyPattern(ORDINAL_WORD_DICTIONARY)}|[0-9]{1,2}(?:го|ого|е|ое)?)`;
1035
+ export function parseOrdinalNumberPattern(match: string): number {
1036
+ let num = match.toLowerCase();
1037
+ if (ORDINAL_WORD_DICTIONARY[num] !== undefined) {
1038
+ return ORDINAL_WORD_DICTIONARY[num];
1039
+ }
1040
+ return parseInt(num);
1041
+ }
1042
+ &nbsp;
1043
+ //-----------------------------
1044
+ &nbsp;
1045
+ const year = "(?:\\s+(?:году|года|год|г|г.))?";
1046
+ export const YEAR_PATTERN = `(?:[1-9][0-9]{0,3}${year}\\s*(?:н.э.|до н.э.|н. э.|до н. э.)|[1-2][0-9]{3}${year}|[5-9][0-9]${year})`;
1047
+ export function parseYear(match: string): number {
1048
+ if (/(год|года|г|г.)/i.test(match)) {
1049
+ match = match.replace(/(год|года|г|г.)/i, "");
1050
+ }
1051
+ &nbsp;
1052
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (/(до н.э.|до н. э.)/i.test(match)) {
1053
+ //Before Common Era
1054
+ <span class="cstat-no" title="statement not covered" > match = match.replace(/(до н.э.|до н. э.)/i, "");</span>
1055
+ <span class="cstat-no" title="statement not covered" > return -parseInt(match);</span>
1056
+ }
1057
+ &nbsp;
1058
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (/(н. э.|н.э.)/i.test(match)) {
1059
+ //Common Era
1060
+ <span class="cstat-no" title="statement not covered" > match = match.replace(/(н. э.|н.э.)/i, "");</span>
1061
+ <span class="cstat-no" title="statement not covered" > return parseInt(match);</span>
1062
+ }
1063
+ &nbsp;
1064
+ const rawYearNumber = parseInt(match);
1065
+ return findMostLikelyADYear(rawYearNumber);
1066
+ }
1067
+ &nbsp;
1068
+ //-----------------------------
1069
+ &nbsp;
1070
+ const SINGLE_TIME_UNIT_PATTERN = `(${NUMBER_PATTERN})\\s{0,3}(${matchAnyPattern(TIME_UNIT_DICTIONARY)})`;
1071
+ const SINGLE_TIME_UNIT_REGEX = new RegExp(SINGLE_TIME_UNIT_PATTERN, "i");
1072
+ &nbsp;
1073
+ export const TIME_UNITS_PATTERN = repeatedTimeunitPattern(`(?:(?:около|примерно)\\s{0,3})?`, SINGLE_TIME_UNIT_PATTERN);
1074
+ &nbsp;
1075
+ export function parseTimeUnits(timeunitText): TimeUnits {
1076
+ const fragments = {};
1077
+ let remainingText = timeunitText;
1078
+ let match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
1079
+ while (match) {
1080
+ collectDateTimeFragment(fragments, match);
1081
+ remainingText = remainingText.substring(match[0].length).trim();
1082
+ match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
1083
+ }
1084
+ return fragments;
1085
+ }
1086
+ &nbsp;
1087
+ function collectDateTimeFragment(fragments, match) {
1088
+ const num = parseNumberPattern(match[1]);
1089
+ const unit = TIME_UNIT_DICTIONARY[match[2].toLowerCase()];
1090
+ fragments[unit] = num;
1091
+ }
1092
+ &nbsp;</pre></td></tr></table></pre>
1093
+
1094
+ <div class='push'></div><!-- for sticky footer -->
1095
+ </div><!-- /wrapper -->
1096
+ <div class='footer quiet pad2 space-top1 center small'>
1097
+ Code coverage generated by
1098
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1099
+ at 2022-12-25T05:11:28.430Z
1100
+ </div>
1101
+ <script src="../../../prettify.js"></script>
1102
+ <script>
1103
+ window.onload = function () {
1104
+ prettyPrint();
1105
+ };
1106
+ </script>
1107
+ <script src="../../../sorter.js"></script>
1108
+ <script src="../../../block-navigation.js"></script>
1109
+ </body>
1110
+ </html>
1111
+